Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在生成的jar中找不到log4j类_Java_Jar_Log4j_Classpath - Fatal编程技术网

Java 在生成的jar中找不到log4j类

Java 在生成的jar中找不到log4j类,java,jar,log4j,classpath,Java,Jar,Log4j,Classpath,我使用maven汇编插件plugin生成jar文件。我使用java-jar来执行jar。我收到错误消息: log4j:未找到警告JmDNS或serviceInfo 我试图在-classpath中使用指向jar的路径,但得到了相同的错误 插件配置: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-pl

我使用
maven汇编插件
plugin生成jar文件。我使用
java-jar
来执行jar。我收到错误消息:

log4j:未找到警告JmDNS或serviceInfo

我试图在
-classpath
中使用指向jar的路径,但得到了相同的错误

插件配置:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
            <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>test.LeanFTest</mainClass>
                </manifest>
            </archive>
            <finalName>${project.artifactId}-fatjar-${project.version}</finalName>
            <appendAssemblyId>false</appendAssemblyId>
            <descriptors>
                <descriptor>src/main/assembly/leanft-assembly.xml</descriptor>
            </descriptors>
        </configuration>
    </plugin>

org.apache.maven.plugins
maven汇编插件
3.1.0
组装
包裹
仅有一个的
test.leanfest
${project.artifactId}-fatjar-${project.version}
错误的
src/main/assembly/leanft-assembly.xml

最有可能的原因是:

  • 您的maven构建不在JAR文件中包含依赖的人工制品。换句话说:您创建的JAR不包括logj4 JAR。您可以使用maven配置来更改,有关详细信息,请参阅
  • 由于您的JAR不包含依赖项,因此您依赖的所有JAR必须位于类路径中。意思是:在命令行上运行新JAR时,运行它所需的所有元素都必须出现在类路径上
@GhostCat:我错过了插件配置,我编辑了问题。@GhostCat:我使用命令行。@GhostCat:我仍然面临这个jar文件的问题,但这不是根本原因。依赖项包含在这个jar文件中,但是我已经尝试在类路径中使用log4jjar文件的路径。当您显示的maven配置没有写入它们时,如何包含它们呢?我使用两个插件来生成jar。另一个是
maven jar插件
。我生成了两个JAR,60 KB和16 MB,但所有JAR都复制到
lib
命名文件夹中。