使用java -cp CLASSPATH和运行Java应用程序有什么区别java -jar JAR_FILE_PATH?是否其中一个更喜欢运行Java应用程序?我的意思是JVM中哪一种方式更昂贵(根据他们的机器资源使用情况)?
哪一个会导致JVM在尝试运行应用程序时产生更多线程?
我创建了一个包含所有编译内容的jar文件.另外,我的ant构建脚本将所需的lib复制到子文件夹"libs"中.结构如下所示:
MyProgram.jar
libs/
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试运行我的程序时,我收到以下错误:
java -cp ".:/home/user/java/MyProgram/jar/libs" -jar MyProgram.jar
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at database.PostgresQL.getConnection(PostgresQL.java:38)
at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:19)
at main.Main.calculateCorrelationMatrix(Main.java:51)
at main.Main.main(Main.java:28)
java.lang.NullPointerException
at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:25)
at main.Main.calculateCorrelationMatrix(Main.java:51)
at main.Main.main(Main.java:28)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我正在尝试获取我的应用程序类路径.
我有一个jar(名为application.jar),它在Manifest.mf中有其他jar文件,比如Class-Path: a.jar b.jar.
为什么当我使用System.getProperty("java.class.path")我的罐子a.jar和b.jar没有列出?
如何在从 Maven 运行的 Spring Boot 中添加额外的类路径条目?
我想我需要在我的 pom.xml 中添加这样的东西:
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>C:/resources</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,我不知道什么插件适用。