使用maven-scala-plugin构建jar

And*_*sov 11 eclipse maven-2 scala m2eclipse

我创建了scala应用程序,现在我想构建jar.我运行mvn package比尝试运行jar by命令

java -jar target/burner-1.0-SNAPSHOT.jar

我看到错误:

Failed to load Main-Class manifest attribute from

如何定义Main-Class属性?我需要创建Manifest.mf吗?哪里?或者我需要在pom.xml中的某个地方使用mainclass属性?

更新: 我已经创建了包含内容的src/main/resources/MANIFEST.MF文件

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: itsabear
Main-Class: ru.dmteam.App
Build-Jdk: 1.6.0_20
Run Code Online (Sandbox Code Playgroud)

我没有忘记在文件末尾的行结尾.在mvn package我看到新罐子之后.我在这个jar中检查了manifest.mf - 它包含了正确的主类,但是当我输入时java -jar target/burner-1.0-SNAPSHOT.jar我仍然看到一个错误Failed to load Main-Class manifest attribute from

我的pom.xml http://pastie.org/1070483

更新2 我发现现在jar中有两个manifest.mf文件.MANIFEST.MF和META-INF/MANIFEST.MF我将我的自定义MANIFEST.MF移动到刚刚创建的META-INF文件夹(在src/main/resources中),但现在 mvn package在创建jar时覆盖它...

Jon*_*ffe 14

在使用scala-archetype-simple archetype(一个打印'Hello World'的简单项目)创建一个新的maven项目之后,我需要将以下内容添加到我的pom.xml中

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2-beta-5</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
      <archive>
        <manifest>
          <mainClass>test.App</mainClass>
        </manifest>
      </archive>
    </configuration>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

对于类test.App,在使用该命令调用时按需运行

java -jar ./target/mytest-1.0-SNAPSHOT-jar-with-dependencies.jar
Run Code Online (Sandbox Code Playgroud)

运行命令后

mvn package
Run Code Online (Sandbox Code Playgroud)