2014-03-27 47 views
0

我正在尝试制作一个.jar的java maven项目。该项目本身是一个helloworld项目,所以我不会发布实际的java代码。项目名称是测试 这里的测试/ pom.xml中:Maven不会打包java项目

<project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>serge</groupId> 
    <artifactId>test</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>test</name> 
    <url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <jdk.version>1.6</jdk.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>${jdk.version}</source> 
      <target>${jdk.version}</target> 
     </configuration> 
     </plugin> 
     <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
    <archive> 
     <manifest> 
      <mainClass>com.mkyong.core.App</mainClass> 
     </manifest> 
    </archive> 
    </configuration> 
</plugin> 
    </plugins> 
    </build> 
</project> 

这里是我得到的错误,当我运行mvn -e package test

[email protected]:~/Documents/workspace-sts-3.4.0.RELEASE$ mvn -e package test 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Default Project 
[INFO] task-segment: [package, test] 
[INFO] ------------------------------------------------------------------------ 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Cannot execute mojo: resources. It requires a project with an existing pom.xml, but  the build is not using one. 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Cannot execute mojo: resources. It requires a project with an existing pom.xml, but the build is not using one. 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.ja va:719) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycl eExecutor.java:556) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.jav a:535) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLife cycleExecutor.java:387) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExec utor.java:348) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:18 0) 
    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:606) 
    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) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot execute mojo: resources. It requires a project with an existing pom.xml, but the build is not using one. 
at  org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:414) 
at  org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
    ... 17 more 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: < 1 second 
[INFO] Finished at: Wed Mar 26 20:52:36 EDT 2014 
[INFO] Final Memory: 5M/74M 
[INFO] ------------------------------------------------------------------------ 
+0

道歉坏的格式,我能格式化XML没有任何问题,但错误跟踪不会让步。有关于此的任何提示? – Serge

+0

要格式化控制台输出,您只需在控制台输出和之前的行之间添加空行。 – DB5

回答

0

好了,我想通了,我什么特别问题是,但我会认为我以前的方法也应该起作用。

我在项目文件夹之外运行命令(在这种情况下是'test')。一旦我在文件夹内导航并运行mvn包,它会在目标文件夹中生成.jar。

以前我是试图将项目传递给包命令以这种方式:

mvn package test 
+2

哪一个不行。 'mvn package test'会尝试首先运行该程序包,然后再次进入测试阶段。 (假设test是项目名称)会是:'mvn package -f test/pom.xml' – blackbuild

相关问题