【问题标题】:how maven-install-plugin work with pom configure to install some jars one timemaven-install-plugin 如何与 pom configure 一起安装一些 jars
【发布时间】:2017-10-14 02:24:39
【问题描述】:

当我安装一个jar时,pom就像

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-install-plugin</artifactId>
   <version>2.4</version>
   <configuration>
      <groupId>org.oracle</groupId>
      <artifactId>oraclejdbc</artifactId>
      <version>14</version>
      <packaging>jar</packaging>
      <file>${basedir}/libs/ojdbc14.jar</file>
   </configuration>
   <executions>
      <execution>
         <id>install-jar-lib</id>
         <goals>
            <goal>install-file</goal>
         </goals>
         <phase>validate</phase>
      </execution>
   </executions>
</plugin>

然后

 mvn install:install-file

它有效,但我想安装一些罐子,而不仅仅是一个,所以我像编辑 pom

        <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
                <inherited>false</inherited>
                <executions>
                    <execution>
                        <id>install-artifacts.1</id>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <phase>clean</phase>
                        <configuration>
                            <groupId>org.oracle</groupId>
                            <artifactId>oraclejdbc</artifactId>
                            <packaging>jar</packaging>
                            <version>14</version>
                            <file>${basedir}/libs/ojdbc14.jar</file>
                        </configuration>
                    </execution>
                    <execution>
                        <id>install-artifacts.2</id>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <phase>clean</phase>
                        <configuration>
                            <file>${basedir}/libs/sqljdbc4.jar</file>
                            <groupId>com.microsoft.sqlserver</groupId>
                            <packaging>jar</packaging>
                            <artifactId>sqljdbc</artifactId>
                            <version>1.0</version>
                        </configuration>
                    </execution>
              </executions>
     </plugin>

然后

mvn install:install-file

但是,控制台显示

无法在项目核心上执行目标 org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file (default-cli):目标 org.apache.maven 的参数“文件”。 plugins:maven-install-plugin:2.5.2:install-file 丢失或无效 -> [帮助 1]

我该怎么办?谢谢!

【问题讨论】:

    标签: java maven


    【解决方案1】:

    在从命令行执行时,目标需要参数file,它可以提供为:

    mvn install:install-file -Dfile=.../libs/ojdbc14.jar
    

    或者使用与pom.xml 中指定的相同配置,您可以简单地执行

    mvn install
    

    另外,请注意您的其中一个执行中的 artifactId 似乎无效

    <file>${basedir}/libs/sqljdbc4.jar</file>
    <groupId>com.microsoft.sqlserver</groupId>
    <packaging>jar</packaging>
    <artifactId>sqljdbc</artifactId> <!--this might be sqljdbc4-->
    

    当您没有用于 3rd 方工件的 POM 时,您可以关注 generic pom generation 并使用

    mvn install:install-file  -Dfile=path-to-your-artifact-jar \
                              -DgroupId=your.groupId \
                              -DartifactId=your-artifactId \
                              -Dversion=version \
                              -Dpackaging=jar \
                              -DgeneratePom=true
    

    【讨论】:

    • 但是我有一些jar,-Dfile可以写多个jar?
    • 我尝试 mvn install 但得到 [ERROR] 'dependencies.dependency.version' for com.microsoft.sqlserver:sqljdbc:jar is missing。 @ com.enation.app.javashop:core:[unknown-version],D:\javashop_sts\javashop\core\pom.xml,第 522 行,第 15 列
    • @freeMeng 你在&lt;artifactId&gt;sqljdbc&lt;/artifactId&gt; 上的&lt;dependency&gt; 需要有一些&lt;version&gt;&lt;/version&gt;
    • 添加版本后,我尝试 mvn install 但也得到 [ERROR] The following artifacts could not be resolved: com.microsoft.sqlserver:sqljdbc:jar:1.0,
    • @freeMeng 查看答案的更新。您使用的 jar 和工件名称似乎不正确 IMO。我宁愿在 pom.xml 配置中指定它们之前调查正在使用的 jar 及其属性。
    猜你喜欢
    • 2015-10-02
    • 2013-08-19
    • 2013-02-19
    • 2023-03-07
    • 1970-01-01
    • 2016-01-02
    • 2017-09-26
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多