gpt4 book ai didi

scala - 使用 Java 和 Scala 源代码打包 WAR

转载 作者:行者123 更新时间:2023-12-02 02:01:00 26 4
gpt4 key购买 nike

我想问你一个简单的问题。是否可以打包包含 Scala 和 Java 源代码的 WAR 文件,每个源代码都来自单独的源目录(src/main/java/...和 ​​src/main/scala/...)?当然,我仍然喜欢将其他资源(如图像和静态页面)包含到生成的 WAR 中。

我一直在研究 WAR 插件功能,关于其他来源,但我没有发现这方面有任何帮助。任何人都可以给我一个提示,我应该在哪里寻找解决方案,或者任何类型的帮助?

谢谢,马修

最佳答案

这是我用于多语言项目的 pom 的简化版本。

<?xml version="1.0" encoding="UTF-8"?>
<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>com.sksamuel</groupId>
<artifactId>test</artifactId>
<version>0.33-SNAPSHOT</version>
<packaging>war</packaging>

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

<maven.plugin.jar.version>2.4</maven.plugin.jar.version>
<maven.plugin.war.version>2.3</maven.plugin.war.version>
<maven.plugin.resources.version>2.6</maven.plugin.resources.version>
<maven.plugin.compiler.version>3.1</maven.plugin.compiler.version>
<maven.plugin.surefire.version>2.14.1</maven.plugin.surefire.version>
<maven.plugin.dependency.version>2.4</maven.plugin.dependency.version>
<maven.plugin.scala.version>3.1.5</maven.plugin.scala.version>

<compiler.version.source>1.7</compiler.version.source>
<compiler.version.target>1.7</compiler.version.target>
</properties>

<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.2</version>
</dependency>
</dependencies>

<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven.plugin.war.version}</version>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${maven.plugin.scala.version}</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

在该目录中运行 mvn clean package 后,在 src/main/scala 中有一个 scala 源代码,在 src/main/java 中有一个 java 源文件,这就是我得到的。正如您所看到的,scala 和 java 文件都已编译到 war 中。

$ find .
.
./pom.xml
./target
./target/test
./target/test/WEB-INF
./target/test/WEB-INF/lib
./target/test/WEB-INF/lib/scala-library-2.10.2.jar
./target/test/WEB-INF/classes
./target/test/WEB-INF/classes/ILoveJava.class
./target/test/WEB-INF/classes/ILoveScala$.class
./target/test/WEB-INF/classes/ILoveScala.class
./target/test/WEB-INF/web.xml
./target/test/META-INF
./target/classes.-1172594870.timestamp
./target/maven-archiver
./target/maven-archiver/pom.properties
./target/test.war
./target/classes
./target/classes/ILoveJava.class
./target/classes/ILoveScala$.class
./target/classes/ILoveScala.class
./target/surefire
./src
./src/main
./src/main/webapp
./src/main/webapp/WEB-INF
./src/main/webapp/WEB-INF/web.xml
./src/main/java
./src/main/java/ILoveJava.java
./src/main/scala
./src/main/scala/ilovescala.scala

关于scala - 使用 Java 和 Scala 源代码打包 WAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com