添加maven';s到exec的输出目录:java类路径

添加maven';s到exec的输出目录:java类路径,maven,configuration,resources,pom.xml,Maven,Configuration,Resources,Pom.xml,我想将target/classes目录添加到maven的exec:javaclasspath。编译和运行时依赖关系处理得很好,但是从src/*/resources复制的资源在执行期间不可用。我几乎可以肯定这是因为插件的类路径只包括项目依赖项,而不包括target/classes目录。我希望能够在开发过程中以mvn clean compile exec:java 同时将所有属性文件和其他文件保留在资源目录中 我尝试了几种不同的exec配置,但似乎都不正确: my pom.xml: org.cod

我想将
target/classes
目录添加到maven的
exec:java
classpath。编译和运行时依赖关系处理得很好,但是从
src/*/resources
复制的资源在执行期间不可用。我几乎可以肯定这是因为插件的类路径只包括项目依赖项,而不包括
target/classes
目录。我希望能够在开发过程中以
mvn clean compile exec:java

同时将所有属性文件和其他文件保留在资源目录中

我尝试了几种不同的exec配置,但似乎都不正确:

my pom.xml:


org.codehaus.mojo

和。

当您使用
exec-maven-plugin
插件时,默认情况下
target/classes
和所有依赖项都在
classpath

我有类似的设置,下面的配置适合我。在我的
Test
类中,我将一个xml文件读取为
Thread.currentThread().getContextClassLoader().getResourceAsStream(“mapping.xml”)
。我将该文件保存在
src/main/resources
中,构建后可在
target/classes
下使用

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <goals>
                <goal>exec</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <executable>java</executable>
        <mainClass>com.Test</mainClass>
    </configuration>
</plugin>

org.codehaus.mojo
execmaven插件
1.2.1
执行官
JAVA
com.Test

我使用的是
this.getClass().getClassLoader().getSystemResourceAsStream(“…”)并将其更改为线程。。。修复了该问题。
mainClass
java
目标的配置选项,而不是
exec
目标。对于
exec
,主类应该在
com.Test
中传递,然后传递给
java
可执行文件
mainClass
exec
目标中被忽略。
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <goals>
                <goal>exec</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <executable>java</executable>
        <mainClass>com.Test</mainClass>
    </configuration>
</plugin>