当前位置: 首页 > 知识库问答 >
问题:

如何为 maven 项目设置类路径

米景辉
2023-03-14

我用eclipse创建了一个maven项目,并用下面的命令制作了jar文件

打包

当我尝试知道我的mvn项目html" target="_blank">配置是真的还是不是这个命令

mvn exec:Java-D exec . main class = " giraph . hello world . app "

我得到这个错误:

在helloworld项目上执行目标
org.codehaus.mojo: exec-maven-plugin: 1.2.1: java(default-cli)失败:执行java类时发生异常。null: InvocationTargetException:没有提供参数

项目的POM.xml设置如下。如果有人能帮助我并指出这个错误的原因,我将不胜感激?

  <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>giraph</groupId>   
    <artifactId>helloworld</artifactId>  
    <version>0.0.1-SNAPSHOT</version>   
    <packaging>jar</packaging>

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

    <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>            
     </properties>

    <dependencies>      
    <dependency>
        <groupId>org.apache.giraph</groupId>
        <artifactId>giraph-core</artifactId>
        <version>1.1.0</version>    
    </dependency>       
    <dependency>    
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>2.0.2</version>    
    </dependency>       
   <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>1.2.1</version>
   </dependency>    
   <dependency>     
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.10</version>
   </dependency>  
 </dependencies>
 <build> 
   <plugins>
     <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
        <execution>
          <goals>
            <goal>java</goal>
          </goals>
         <configuration>
           <mainClass>giraph.helloworld.App</mainClass>
         </configuration>
        </execution>
       </executions>
     </plugin>
  </plugins>
 </build> 
</project>

共有1个答案

廉宇
2023-03-14

我认为问题在于您的清单文件没有包含关于jar入口点(主类)的信息。请参见设置应用程序入口点。

有许多方法可以纠正这个问题。可以使用maven汇编插件。更多详情,请点击此处

 类似资料:
  • 为了在命令行上运行TestNG测试,我必须在类路径中设置TestNG。为了做到这一点,我经历了- 无法通过命令行执行TestNG套件文件

  • 但不走运,未设置自定义运行时类路径。

  • 我试图在CentOS 7上使用Visual Studio代码运行/调试来自第三方供应商的现有Hello World Java项目。我对Java相对来说比较陌生,所以可能有一些明显的地方我没有。 我已经用这里描述的扩展设置了VisualStudio代码。我还设置了ApacheMaven,并能够在VisualStudio代码中创建一个新的Maven Java项目,该项目可以编译并调试。现在,我想获取第

  • 我想制作一个本地JavaFX应用程序,但我不知道如何设置文件的路径,所以当我构建jar时,我不会有任何问题。 我已经构建了jar并试图修复尽可能多的错误,但仍有一些无法修复的错误。 下面是源文件夹的图片。 这些是我的错误 这是Main

  • 从gradle maven publish插件的文档中可以清楚地看到,您可以直接在: 但是,似乎取自您正在使用的文件夹的名称。有没有办法明确地设置?

  • 换句话说,现在我的单元测试的类路径设置为:。 相反,我希望将此类路径设置为:。 我曾尝试手动添加和删除依赖项类,如下所示:http://maven.apache.org/plugins/maven-surefire-plugin/examples/configuring-classpath.html,但到目前为止还不起作用。