scala and java mixed development package

How to package the mixed development of scala and java? F...

How to package the mixed development of scala and java?

First, create maven project and add dependency in pom.xml

<properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>3.8.1</junit.version> <slf4j-api.version>1.6.4</slf4j-api.version> <commons-lang3>3.1</commons-lang3> <scala.version>2.11.8</scala.version> <maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version> </properties> <dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>$</version> </dependency> <!-- log API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>$</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>spark.example.Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>$/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>

Among them, mainClass is the main function of the last jar package, usually the scala class containing the main method. You can also not specify it.

mvn clean scala:compile package

After packaging, there will be. / lib subdirectory under the same jar directory, which contains scala-library-2.11.8.jar and other dependent packages.

If the dependent package is in a different directory, you can also use the command:

java -Djava.ext.dirs=c:\libs -jar my-snapshot.jar

To execute. Where - Djava.ext.dirs=c:\libs specifies that the path of the dependency package is c:\libs, and you can change to your own directory.

9 May 2020, 10:19 | Views: 8714

Add new comment

For adding a comment, please log in
or create account

0 comments