如何制作一个胖罐?

时间:2017-01-05 16:45:20

标签: java maven intellij-idea jar spark-java

使用SpringBoot,你有@SpringBootApplication注释,但与纯粹的Java Spark框架相同的是什么?

IntelliJ创建了一个Maven项目,我添加了spark依赖项,但是运行安装目标,我获得了一个没有清单的5 KB jar。不是可执行的jar。

到目前为止创建的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>sparkdemo</groupId>
  <artifactId>sparkdemo</artifactId>
  <version>1.0 </version>
  <packaging>jar</packaging>

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

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

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.sparkjava</groupId>
      <artifactId>spark-core</artifactId>
      <version>2.5.4</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <optimize>true</optimize>
          <debug>true</debug>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

非常感谢任何建议....谢谢!

2 个答案:

答案 0 :(得分:8)

这里需要的是一个可执行jar,它不仅包含您的类,还包含所有依赖项中的类。 为此,您可以使用Maven Assembly Plugin

请参阅下面的示例代码。

mvn package

然后,运行target,可执行jar应位于ProjectName-1.0-SNAPSHOT-jar-with-dependencies.jar文件夹中(名称为var sorted = response.data.result[3515341].scans.sort(function(a,b){ return a.clickpost_status_code - b.clickpost_status_code; }) )。

答案 1 :(得分:0)

看起来你正在寻找maven程序集插件

在插件部分添加此内容并运行mvn package

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>assemble-all</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>