如何使用本地archetype-catalog.xml在intellj中创建maven项目

时间:2016-11-24 15:29:08

标签: java maven

当我在intellj中创建一个maven项目时,由于网络intellj无法获得" archetype-catalog.xml"来自" maven.apache.org"。所以我把它下载到" .m2 \ repository \ org \ apache \ maven \ archetype \ archetype-catalog \ 2.4"手动没有选择,另一方面我尝试更改如下所示的vm选项: enter image description here

问题是,每当我创建一个新项目时,这个设置就消失了。所以我只需要添加" -DarchetypeCatalog = local"每次? 如您所见,这是第14个演示,我该如何解决这个问题?顺便说一下,如果我使用命令行生成新项目,它将生成一个带有/ resources目录的完整项目。

1 个答案:

答案 0 :(得分:1)

选项0:Intellij Specific

要将该属性设置为默认属性,以便所有项目都能获取该属性:

档案 - >其他设置 - >默认设置

然后做同样的事情(即构建工具 - > Maven - > Runner)。在此之后,从此开始创建的任何项目都将继承该JVM arg。

以下其余选项与IDE无关。

以下选项基于http://maven.apache.org/configure.html

选项1:环境变量MAVEN_OPTS

如何设置以下环境变量?

$data

选项2:直接编辑shell脚本(不寒而栗!)

另一种方法是直接修改MAVEN_OPTS = "-DarchetypeCatalog=local"mvn.bat以添加该属性。

选项3:创建mvn.sh文件

我在maven shell脚本的3.3.9版中注意到以下内容:

mavenrc

因此,您可以将该属性放在 # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi /etc/mavenrc中,并确保未设置~/.mavenrc