Java maven exec插件-logback不起作用
我有一个maven项目,它保存配置信息,并将其打包在zip文件中。我使用maven依赖插件将内容解压缩到${project.build.directory}/unpacket,然后在上面运行资源插件以过滤内容并将其直接转储到${project.build.directory} 当我运行maven exec时,我的logback.xml没有被提取。类路径似乎设置为${basedir},但我希望它同时具有${project.build.directory},以及测试类和类 每当我尝试添加classpath元素时,就会出现配置错误 我应该如何配置pom.xml来支持这一点,这是否可能Java maven exec插件-logback不起作用,java,maven,logback,Java,Maven,Logback,我有一个maven项目,它保存配置信息,并将其打包在zip文件中。我使用maven依赖插件将内容解压缩到${project.build.directory}/unpacket,然后在上面运行资源插件以过滤内容并将其直接转储到${project.build.directory} 当我运行maven exec时,我的logback.xml没有被提取。类路径似乎设置为${basedir},但我希望它同时具有${project.build.directory},以及测试类和类 每当我尝试添加classp
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>run</id>
<phase>package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
<mainClass>${jar.mainClass}</mainClass>
</configuration>
</plugin>
org.codehaus.mojo
execmaven插件
跑
包裹
JAVA
${project.build.directory}
${jar.mainClass}
这应该可以解决问题
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
<manifest>
<addClasspath>true</addClasspath>
<!-- <classpathPrefix></classpathPrefix> -->
<mainClass>com.stackoverflow.test</mainClass>
</manifest>
<manifestEntries>
<Class-Path>${project.build.outputDirectory}/unpacked/logback.xml</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
maven jar插件
2.3.1
${project.build.outputDirectory}/META-INF/MANIFEST.MF
真的
com.stackoverflow.test
${project.build.outputDirectory}/unpacket/logback.xml
您如何调用maven exec以及它现在是如何配置的?我将通过将它附加到我相信的包生命周期来调用它。我把它放在一个特定的概要文件,可执行文件中,这样我就可以通过简单地说mvn clean package-Pexecutable来运行它。默认情况下,构建目录应该是类路径的一部分。exec是如何配置的?logback.xml在哪里?当我运行lsof时,我看到包含了项目目录。我最初只是用主类配置了exec,但尝试添加类路径参数却没有用。过滤的logback.xml位于${project.build.directory}中。您可以将pom xml的相关部分添加到您的问题中吗?