我有一个混合的Scala/Java项目,编译得不好.
当Java代码试图在同一个包中调用Scala代码时,就会出现问题.
当然,我有标准布局:
我看过其他类似的Stackoverflow问题,但这个问题有点过时了.这个问题也无济于事.
我还关注了scala-maven-plugin文档页面.
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
我尝试过关注这篇博文失败了.
使用从pom.xml导入的Scala插件的IDEA项目可以成功编译和运行我的项目.
这样做的正确方法是什么?Java代码是否被编译两次?首先是Scala插件和Java插件吗?
我正在考虑将Maven用于我管理的Java开源项目.
然而,在过去,Maven并不总是拥有最好的声誉.你现在对Maven有什么印象?
我想创建一个多模块(maven)spring MVC应用程序,其模块如下:
web
persistance (hibernate)
core (general libs)
models
job-server (queue based jobs)
services (business logic)
Run Code Online (Sandbox Code Playgroud)
现在在这个项目中使用Scala,我可以在任何地方写scala吗?或者我应该使用scala作为我的服务模块,使用java作为Web模块?
我知道hibernate必须在java中.
思考?建议吗?
有什么问题需要注意吗?这是一个好主意吗?我是否需要破解某些部件才能将它们粘合在一起?
我正在开始一个项目,我期望将包含大量的非Java代码(主要是shell和SQL脚本).
我仍然想用Maven管理这个项目.非Java源代码和Maven的最佳实践是什么?来源应该去哪里?在不同的生命周期阶段,他们会发生什么?任何指向或链接到更多信息将不胜感激.
我有一个scala和java代码的项目,我目前使用scala IDE插件在eclipse中管理.目前,组织目录结构使得一些包具有java和scala代码.有些scala类依赖于java类,还有其他依赖于scala类的java类.该插件透明地处理所有这些 - 我相信(但我不是100%肯定)scala编译器将java和scala代码编译在一起,这是交叉依赖关系的处理方式.我确实找到了一些使用Maven编译混合项目的引用,例如这里,但我看到的是将java和scala分成两个独立的源树.Maven尝试首先编译scala代码,因为它依赖于java代码而失败.同样,如果首先编译java代码,它也会失败,因为依赖关系是双向的.有没有办法让Maven像eclipse插件一样编译所有代码?我也希望能够生成一个eclipse项目,如果可能的话,不需要做太多的手动修复.