I’m trying to use Lombok with Maven and VRaptor on IntelliJ but it doesn’t work.
I already read some info in stackoverflow but none solved my problem, i already enabled the Annotation Processor in Intellij but still nothing.
I tryied to compile it from command-line too (Windows) and didn’t work.
I also tryed to create another project without maven and add the library, create some classes for test and it works, compile and run perfectly.
Any help?
The project has only 2 class, 1 entity and 1 controller
Here is my 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>razor</groupId> <artifactId>controle-de-ponto</artifactId> <version>0.0.1</version> <packaging>war</packaging> <description>Um sistema de controlo de ponto</description> <repositories> <repository> <id>projectlombok.org</id> <url>http://projectlombok.org/mavenrepo</url> </repository> </repositories> <properties> <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding> <weld.version>2.1.2.Final</weld.version> </properties> <dependencies> <dependency> <groupId>br.com.caelum</groupId> <artifactId>vraptor</artifactId> <version>4.1.4</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>0.11.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet-core</artifactId> <version>2.1.2.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.weld</groupId> <artifactId>weld-core-impl</artifactId> <version>2.1.2.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>el-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator-cdi</artifactId> <version>5.1.1.Final</version> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> <!-- uncomment this line on app servers --> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.8.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> <scope>runtime</scope> </dependency> <dependency> <groupId>br.com.caelum.vraptor</groupId> <artifactId>vraptor-jpa</artifactId> <version>4.0.2</version> </dependency> <dependency> <groupId>br.com.caelum.vraptor</groupId> <artifactId>vraptor-java8</artifactId> <version>4.0.0.Final</version> </dependency> </dependencies> <build> <finalName>controle-de-ponto</finalName> <!--<outputDirectory>/Users/turini/Documents/workspace/vraptor4/vraptor-blank-project/src/main/webapp/WEB-INF/classes</outputDirectory>--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <compilerVersion>1.8</compilerVersion> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
Error when i try to compile:
[INFO] ------------------------------------------------------------------------ [INFO] Building controle-de-ponto 0.0.1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ controle-de-ponto --- [INFO] Using 'ISO-8859-1' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ controle-de-ponto --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to C:UsersKennedyDesktopcontrole-de-pontotargetclasses [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /C:/Users/Kennedy/Desktop/controle-de-ponto/src/main/java/br/com/caelum/vraptor/controller/IndexController.java:[37,16] cannot find symbol symbol: method setNome(java.lang.String) location: variable usuario of type org.razor.cponto.beans.Usuario [INFO] 1 error [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.167 s [INFO] Finished at: 2015-02-04T13:41:01-02:00 [INFO] Final Memory: 17M/204M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project controle-de-ponto: Compilation failure [ERROR] /C:/Users/Kennedy/Desktop/controle-de-ponto/src/main/java/br/com/caelum/vraptor/controller/IndexController.java:[37,16] cannot find symbol [ERROR] symbol: method setNome(java.lang.String) [ERROR] location: variable usuario of type org.razor.cponto.beans.Usuario [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Advertisement
Answer
This should work as is, and has nothing to do with IntelliJ idea. But I would:
- make sure the
@Data
annotation is the lombok one - remove the repository definition (maven central is fine)
- use a recent lombok version (1.16.0 as of this writing)
- rebuild (
mvn clean package
)
I think the lombok jar is not found by maven in your case or that you might have another @Data
.