我有一个使用Ant脚本构建的Java项目。我正在尝试将项目转换为Maven。
其中一项任务将生成一个名为Version.java的Java源文件,其中包含编译时间戳记的静态String表示形式,如下所示:
package com.foo.bar;
public final class Version {
public static String VERSION="100301.1046";
}
Ant任务非常简单:
<target name="version" depends="init" description="Create Version.java">
<echo file="src/${package.dir}/Version.java" message="package ${package.name};${line.separator}" />
<echo file="src/${package.dir}/Version.java" append="true" message="public final class Version {${line.separator}" />
<echo file="src/${package.dir}/Version.java"
append="true"
message=" public static String VERSION="${buildtime}";${line.separator}" />
<echo file="src/${package.dir}/Version.java" append="true" message="}${line.separator}" />
<echo message="BUILD ${buildtime}" />
</target>
是否可以使用生成源或其他一些简单方法在Maven中执行类似的操作?
经过更多的Google搜索之后,我想到了这个(在pom.xml中):
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<tasks>
<property name="src.dir" value="${project.build.sourceDirectory}" />
<property name="package.dir" value="com/foo/bar" />
<property name="package.name" value="com.foo.bar" />
<property name="buildtime" value="${maven.build.timestamp}" />
<echo file="${src.dir}/${package.dir}/Version.java" message="package ${package.name};${line.separator}" />
<echo file="${src.dir}/${package.dir}/Version.java" append="true" message="public final class Version {${line.separator}" />
<echo file="${src.dir}/${package.dir}/Version.java" append="true"
message=" public static String VERSION="${buildtime}";${line.separator}" />
<echo file="${src.dir}/${package.dir}/Version.java" append="true" message="}${line.separator}" />
<echo message="BUILD ${buildtime}" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
它看起来运行良好,并生成了以下Java文件:
package com.foo.bar;
public final class Version {
public static String VERSION="100318.1211";
}
我正在使用Maven生成一个war文件。我正试图让它在战争中生成一个清单文件。现在它没有发生。我已经在我的pom中包括了以下内容。xml,但我无法让它输出包含该信息的清单文件。有人有什么想法或建议吗?没有舱单。mf被投入战争。
试图从我的构建中提取文件夹,但以下操作不起作用: 有什么想法吗?
问题内容: 当我尝试使用生成Eclipse项目文件时,出现以下错误: 插件管理器中执行目标’org.apache.maven.plugins:maven-eclipse- plugin:2.9-SNAPSHOT:eclipse’的内部错误:无法加载mojo’org.apache.maven.plugins:maven- eclipse-plugin:插件``org .apache.maven.pl
我正在尝试运行maven-expertion-plugin:1 . 26 . 2:docs,并且面临一个NUllPointerException。 我唯一想要的是生成这里描述的文档http://docs.codehaus.org/display/ENUNCIATE/Documentation只有,所以我的pom。xml表示为: 但是,它启动了: 有什么建议吗?
更新: 我在pom.xml中添加了另一个插件。 它生成一个jar文件,但似乎没有依赖项。 线程“main”java.lang.noClassDefFoundError中出现异常:org/apache/log4j/logger
我有一个多模块的maven项目。它有两个多模块 父POM. xml(包装类型:pom) Module1 POM. xml(包装类型:jar) Module2 POM. xml(包装类型:jar) 当我使用mvn构建选项构建pom.xml时,我能够获得所有工件(父pom,子jars)。 但我想要。pom文件(不是pom.xml)也用于子JAR。谁能建议我怎么做? 我尝试在pom中添加依赖项,比如ma