概述
Groovy 和 Java 联合开发环境搭建
1. 在主 pom 的 properties 中加上 <groovy.version>2.5.2</groovy.version> 用来覆盖 spring boot 自带的 groovy 版本
2. 在主 pom 中的 build > plugins 部分加上交叉编译插件
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerId>groovy-eclipse-compiler</compilerId>
<verbose>true</verbose>
<fork>true</fork>
<compilerArguments>
<javaAgentClass>lombok.launch.Agent</javaAgentClass>
</compilerArguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>3.0.0-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.5.2-01</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
</dependency>
</dependencies>
</plugin>
3. 在 start 对应的 pom 中的 build 部分加上
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
4. 这样就可以在项目中同时使用 Groovy 和 Java 开发了,直接在 src/main/java 下面建立 groovy 类即可,当然也可以在 src/main/groovy 下建立
错误解决:
1. 使用命令行 mvn clean install -Dmaven.test.skip=true -X 编译,如果报类似于下面的编译失败,则在对应的 pom 中添加对应包的依赖:
如:
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3<version>
</dependency>
ERROR in /Users/leiting.hlt/iwant-tmsx/iwant-tmsx-service/src/main/java/com/cainiao/iwant/tmsx/service/impl/TmsxOrderServiceImpl.java (at line 1)
package com.cainiao.iwant.tmsx.service.impl;
^
The type org.hamcrest.Matcher cannot be resolved. It is indirectly referenced from required .class files
2. 如果用 IDEA 直接运行报类似下面的错误,就需要改变 spring boot 自带的 groovy 版本,不要通过依赖管理覆盖 groovy 版本, 使用 groovy.version 在 properties 中配置覆盖 spring boot 自带的 groovy 版本即可
如:
<properties>
<groovy.version>2.5.2</groovy.version>
</properties>
Information:Groovyc: While compiling iwant-tmsx-start:java.lang.NoClassDefFoundError: org/codehaus/groovy/ast/MethodCallTransformation needed for org.codehaus.groovy.macro.transform.MacroTransformation
at org.jetbrains.jps.incremental.groovy.JointCompilationClassLoader._defineClass(JointCompilationClassLoader.java:41)
最后
以上就是直率小天鹅为你收集整理的Groovy 和 Java 联合开发环境搭建Groovy 和 Java 联合开发环境搭建的全部内容,希望文章能够帮你解决Groovy 和 Java 联合开发环境搭建Groovy 和 Java 联合开发环境搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复