2015-02-04 7 views
7

मैं इंटेलिजे पर मेवेन और वीआरएप्टर के साथ लंबोक का उपयोग करने की कोशिश कर रहा हूं लेकिन यह काम नहीं करता है।लंबोक और मेवेन

मैंने पहले से ही स्टैक ओवरफ्लो में कुछ जानकारी पढ़ी है लेकिन मेरी समस्या हल नहीं हुई है, मैंने पहले ही इंटेलिज में एनोटेशन प्रोसेसर को सक्षम किया है लेकिन अभी भी कुछ भी नहीं है।

मैंने इसे कमांड लाइन से भी संकलित करने का प्रयास किया (विंडोज) और काम नहीं किया।

मैंने मैवेन के बिना एक और प्रोजेक्ट बनाने और लाइब्रेरी जोड़ने का प्रयास किया, परीक्षण के लिए कुछ कक्षाएं बनाई और यह पूरी तरह से काम करता है, संकलित करता है और चलाता है।

कोई मदद?

केवल 2 वर्ग, 1 इकाई और 1 नियंत्रक

यहाँ मेरी 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> 

त्रुटि है परियोजना है जब मैं संकलन करने का प्रयास करें:

[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:\Users\Kennedy\Desktop\controle-de-ponto\target\classes 
[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 
+1

अगर आप "यह काम नहीं किया" और अधिक विशिष्ट हो सकता है? त्रुटि क्या थी? – StephaneM

+0

मैंने अधिक जानकारी के साथ अपना प्रश्न संपादित किया। –

+0

Usuario क्लास एनोटेशन @ डेटा है। और setNome इसके द्वारा उत्पन्न होता है। –

उत्तर

4

यह इस तरह काम करना चाहिए, और इंटेलिजे विचार के साथ कुछ लेना देना नहीं है। लेकिन मैं करूंगा:

  • यकीन @Data एनोटेशन lombok एक
  • है भंडार परिभाषा (Maven केंद्रीय ठीक है)
  • हाल ही में एक lombok संस्करण (इस लेखन के रूप में 1.16.0) का उपयोग
  • को दूर करना
  • पुनर्निर्माण (mvn clean package)

मुझे लगता है कि lombok जार अपने मामले या था में Maven से नहीं मिला है आपके पास @Data हो सकता है।

+0

Thx! ऐसा लगता है कि संस्करण था, मैंने नहीं देखा कि मैं पुराने संस्करण का उपयोग कर रहा था। मुझ पर शर्म आओ। –

+0

यह रेपो होने की अधिक संभावना है: http://projectlombok.org/mavenrepo/ ब्राउज़ करें और आप देखेंगे कि यह एक मैवेन रेपो जैसा नहीं दिखता है। –

+0

एमवीएन स्वच्छ पैकेज और फिर पुरानी युद्ध फ़ाइल को हटा रहा है। नए के साथ बदलना और फिर तैनाती के बाद। Bazinga: D +1 – Nabin

-1

आप lombok प्लगइन जोड़ने की जरूरत है:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.projectlombok</groupId> 
     <artifactId>lombok-maven-plugin</artifactId> 
     <version>1.16.8.0</version> 
     <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <goals> 
      <goal>delombok</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+0

नहीं, यह लंबवत स्रोत कोड – aliopi

13

यह काम हो सकता है

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.0</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
       <annotationProcessorPaths> 
        <path> 
         <groupId>org.projectlombok</groupId> 
         <artifactId>lombok</artifactId> 
         <version>1.16.12</version> 
        </path>       
       </annotationProcessorPaths> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+1

के साथ लंबोक एनोटेशन को बदलने के लिए है, धन्यवाद, मुझे घंटों लगे और आपके समाधान ने इसे ठीक कर दिया। 'मेवेन-कंपाइलर-प्लगइन' '3.6.2' और 'लंबोक'' 1.16.16' के साथ काम करना – tehCivilian

संबंधित मुद्दे