清单在一行上只包含版本,然后在一行上包含主类属性,然后是2个空行
所有依赖项都位于相对于jar的/lib文件夹中,因此清单中没有指定类路径
在zip文件程序中打开jar显示文件夹companyname
,其中包含文件mainclass
,因此限定名反映在jar结构中。资本化也是正确的。
罐子结构:
-META-INF
MANIFEST.MF
-companyname
-module
-interfaces
interface1.class
-commands
baseCommand.class
register.class
specialCommand.class
moduleSpec.class
moduleProcessor.class
mainclass.class
log4j.xml
springconfig1.xml
springconfig2.xml
清单文件:
Manifest-Version: 1.0
Main-Class: companyname.mainclass
(newline char here)
(newline char here)
首先,确保正确创建了可执行jar。有关使用Gradle创建可执行jar的信息,请参见此答案。
如果您正确地创建和打包jar,它可能无法加载主类,因为它有无法找到的依赖项。你说:
所有依赖项都位于相对于jar的/lib文件夹中,因此清单中没有指定类路径
java -cp "MyJar.jar;lib/*" com.mycompany.MyMainClass
什么是ClassPath 简单说来ClassPath就是查找class文件的路径,在Tomcat等容器下,ClassPath一般是WEB-INF/classes,在普通java程序中,我们可以通过定义-cp或者-classpath参数来定义查找class文件的路径,这些路径就是ClassPath。 为了项目方便,我们定义的配置文件肯定不能使用绝对路径,所以需要使用相对路径,这时候最好的办法就是把配
我写了一个程序,但当我的朋友尝试执行它时,它抛出filenotfound异常,但文件存在,这是我的代码,在文件夹中有lib文件夹、jar文件和“csv fajlok”,在csv fajlok文件夹中有2个csv文件
问题内容: CLASSPATH的路径之一是“ / Users / smcho / Desktop / clojure”,并且此目录中有文件hello.clj。 运行clojure和运行(要求’hello)会给出此错误消息。 当我将目录更改为“ /Users/…/clojure”并运行相同文件(要求“ hello”)时,没有问题。的。在CLASSPATH上。 跑步 也可以。 为什么Clojure在C
GNU Classpath(Java 的基本类库)是为了建立自由核心类库使用虚拟机和编译器的Java编程语言。它包括所有本地方法和核心课程是完全必要的功能Java运行。
问题内容: 可以将option与with一起使用,添加还是替换env变量的内容? 问题答案: 使用classpath变量,它会覆盖环境变量的CLASSPATH,但仅适用于该会话。如果重新启动应用程序,则需要再次设置classpath变量。
问题内容: 我正在Windows PC上工作,并且有cygwin!我将我所有的jars组织在几个目录中的一个目录下!我正在编写一个脚本,以通过遍历作为参数传递的目录来设置,如下所示: 每当在目录中有空格传递并且我运行时,都会抛出错误,指出未找到该类,因为CLASSPATH变量在之后被拆分。 有人可以帮我解决这个问题吗? 问题答案: 看到这篇文章。 您可以将完整的类路径包含在双qoutes中 或类路