【问题标题】:how to create a maven project in intellj with local archetype-catalog.xml如何使用本地 archetype-catalog.xml 在 intellij 中创建 maven 项目
【发布时间】:2016-11-24 15:29:07
【问题描述】:

当我在 intellj 中创建一个 maven 项目时,由于网络 intellj 无法从“maven.apache.org”获取“archetype-catalog.xml”。所以我没有选择手动将它下载到“.m2\repository\org\apache\maven\archetype\archetype-catalog\2.4”,另一方面我尝试更改如下的vm选项:

问题是每次我创建一个新项目时,这个设置就消失了。那么我每次都必须添加“-DarchetypeCatalog=local”吗? 如您所见,这是第 14 个演示,我该如何解决这个问题?顺便说一句,如果我使用命令行生成新项目,它将生成一个带有 /resources 目录的完整项目。

【问题讨论】:

    标签: java maven


    【解决方案1】:

    选项 0:Intellij 特定

    将该属性设置为默认值,以便所有项目都能使用它:

    文件->其他设置->默认设置

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

    以下其余选项与 IDE 无关。


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

    选项 1:环境变量 MAVEN_OPTS

    如何设置以下环境变量?

    MAVEN_OPTS = "-DarchetypeCatalog=local"

    选项 2:直接编辑 shell 脚本(颤抖!)

    另一种方法是直接编辑mvn.batmvn.sh 以添加该属性。

    选项 3:创建mavenrc 文件

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

     #
     # 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 中,并确保未设置MAVEN_SKIP_RC

    【讨论】:

    • 用你的选项 0 解决它。你刚刚救了我的命。非常感谢。
    猜你喜欢
    • 2018-03-17
    • 2022-12-20
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2012-01-01
    • 2013-01-17
    相关资源
    最近更新 更多