0

我是 maven 新手,我想将 commons-codec jar 添加到 maven 本地存储库,实际上我想在项目中使用这个 jar,但是我得到编译错误,这表明 jar 在编译时找不到项目 pom 文件包含

<dependency>
        <groupId>commons</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.8</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/commons-codec-1.8.jar</systemPath>
</dependency>

并且jar文件位于项目根目录的lib文件夹中,经过一番谷歌搜索后我发现我应该通过mvn安装jar所以我执行这个

C:\Program Files (x86)\apache-maven-2.2.1-bin\apache-maven-2.2.1\bin>mvn install:commons-codec-1.8.jar -Dfile="c:\mapsforge\mapsforge-map\lib\commons-codec-1.8.jar" -DartifactId=commons-codec -Dversion=1.8 -Dpackaging=jar -e

然后我得到这个错误

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'install'.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Required goal not found: install:commons-codec-1.8.jar in org.apache.maven.plugins:maven-install-plugin:2.2
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Required goal not found: install:commons-codec-1.8.jar in org.apache.maven.plugins:maven-install-plu
 gin:2.2 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.getMojoDescriptor(DefaultLifecycleExecutor.java:1867)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.segmentTaskListByAggregationNeeds(DefaultLifecycleExecutor.java:462)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:175)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

这里有什么问题...?

4

1 回答 1

1

给定的目标是错误的。

mvn install:commons-codec-1.8.jar -Dfile="c:\mapsforge\mapsforge-map\lib\commons-codec-1.8.jar" -DartifactId=commons-codec -Dversion=1.8 -Dpackaging=jar -e

肯定是:

mvn install:install-file -Dfile="c:\mapsforge\mapsforge-map\lib\commons-codec-1.8.jar" -DartifactId=commons-codec -Dversion=1.8 -Dpackaging=jar -e

除此之外,我建议使用 Maven 3.X 而不是 Maven 2.2.1。

于 2013-11-10T17:32:22.383 回答