JAR构建与同事目录层次结构不匹配

时间:2017-07-18 13:20:23

标签: java intellij-idea

我的同事已经从遵循层次结构的分支构建了一个JAR

|COM
|hive (containts 10 .JAR files)
|META-INF
|org
|- 1.jar
|- 2.jar
| ...
|- 46.jar

我从同一个分支创建了一个JAR,它省略了hive目录并将10个JAR文件放在根目录中。

|COM
|META-INF
|org
|- 1.jar
|- 2.jar
| ...
|- 56.jar

我们从根目录中的lib目录中获取库,我将链接到项目结构,如下所示:

libs

lib目录看起来像这样:

lib

当我构建工件并将其部署到服务器并尝试运行它时,我收到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
        at com.citi.apama.feeds.ApamaFeed.<clinit>(ApamaFeed.java:43)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

...它引用了一个应该在JAR的hive目录中的类。

我的同事在Eclipse中构建的构建步骤是

File > Export > Runnable Jar file > Library handling: Package required libraries into generated JAR > Finish

我已尝试过Eclipse和IntelliJ的相同步骤我已按照this回答中列出的步骤进行操作。

我的同事正在Eclipse中构建,而我已经尝试过Eclipse和InteliJ都无济于事。我怎样才能模仿同事的等级?

修改

这可能是相关的,非工作JAR与工作JAR具有不同的属性:

enter image description here

0 个答案:

没有答案