相关疑难解决方法(0)

使用其他classpath选项调用"java -jar MyFile.jar"

我创建了一个包含所有编译内容的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)

为什么会这样?

java jar classpath

78
推荐指数
2
解决办法
8万
查看次数

如何从Maven生成的战争中排除pom.xml?

使用Maven war插件,我生成包含以下目录的WAR:

META-INF
-- maven
   -- com.abc.def
      -- myServlet
         -- pom.xml
         -- pom.properties

在发布中,我想要排除这个maven目录.我怎样才能做到这一点?

我尝试了最新的maven-war-plugin(2.1-beta-1),它配置了"packagingExcludes",但它没有按照我的意愿工作.

有什么建议?

maven-2 pom.xml

20
推荐指数
2
解决办法
2万
查看次数

可执行JAR忽略其自己的Class-Path属性

我使用了Maven中的指令- 如何在jar中添加任意类路径条目以Class-Path属性添加任意条目.这是我的MANIFEST.MF档案:

Manifest-Version: 1.0
Class-Path: jace-runtime.jar
Main-Class: org.jace.examples.Test
Run Code Online (Sandbox Code Playgroud)

我定义了org.jace.examples.Test,如下所示:

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("classpath: " + System.getProperty("java.class.path"));
        System.out.println("PeerExample: " + Class.forName("org.jace.util.ShutdownHook"));
    }
}
Run Code Online (Sandbox Code Playgroud)

在哪里org.jace.util.ShutdownHook定义jace-runtime.jar.当我调用时,java -jar peer_example1.jar我得到以下输出:

classpath: peer_example1.jar 线程"main"中的异常java.lang.ClassNotFoundException:org.jace.util.ShutdownHook

换句话说,Java正在将可执行JAR文件添加到类路径中但忽略不计Class-Path.如果我调用java -cp jace-runtime.jar;peer_example1.jar org.jace.examples.Test我得到预期的输出:

classpath: jace-runtime.jar;peer_example1.jar

有任何想法吗?

java jar classpath

13
推荐指数
1
解决办法
6933
查看次数

如何使用onejar Maven插件在清单中设置其他类路径条目?

有没有办法使用onejar-maven-plugin将任意类路径条目添加到JAR文件清单?

我找到了配置maven-jar-plugin来实现这一目标的方法,但似乎没有针对onejar-maven-plugin的选项.

这不是为了找到其他类(否则为什么要使用onejar插件,对吧?),而是找到一个必须在JAR外部的配置文件.

对此有直接的解决方案或解决方法吗?

java jar maven maven-jar-plugin onejar

10
推荐指数
1
解决办法
1020
查看次数

标签 统计

jar ×3

java ×3

classpath ×2

maven ×1

maven-2 ×1

maven-jar-plugin ×1

onejar ×1

pom.xml ×1