2013-02-15 13 views
13

में क्लास फ़ाइल शामिल नहीं है। मैंने स्टैक ओवरव्लो पर जो कुछ भी पा सकता हूं उसे देख लिया है और मुझे कोई जवाब नहीं मिला। मैंने अभी एक नई मशीन बनाई है और मेरे पास ऐसी परियोजनाएं हैं जो पिछले इंस्टॉलेशन पर संकलित और निर्मित हैं। लेकिन मेरी नई मशीन नहीं होगी। सबकुछ ठीक से निर्माण हो रहा है (कोई बिल्ड त्रुटियां नहीं, निर्भरताएं ठीक से शामिल हैं), लेकिन मेरी परियोजना से वास्तविक वर्ग फ़ाइलों (कोड मैंने लिखा) जार में शामिल नहीं है। इसके बाद मैंने कुछ सरल हेलो वर्ल्ड प्रोजेक्ट बनाया, जिसमें कुछ समस्याएं देखने के लिए न्यूनतम पीओएम फ़ाइल अभी भी मौजूद है। मैंने समीकरण रेखा से ग्रहण करने के लिए कमांड लाइन से निर्माण किया था।मेवेन बिल्ड में जार

कक्षा कोड

package com.zoverge.utils; 

public class HelloWorld { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     String message = args[0]; 
     System.out.println(message); 
    } 

} 

मेरे पोम फ़ाइल

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.zoverge.utils</groupId> 
    <artifactId>helloworld</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0</version> 
    <name>Hello World</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
      <project.build.java.version>1.6</project.build.java.version> 
      <org.apache.maven.plugins.maven-compiler-plugin.version>2.5.1</org.apache.maven.plugins.maven-compiler-plugin.version>   
    </properties> 
    <build> 
     <plugins> 
      <!-- Maven will compile our source java classes using the "project.build.java.version" 
       specified --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${org.apache.maven.plugins.maven-compiler-plugin.version}</version> 
       <configuration> 
        <source>${project.build.java.version}</source> 
        <target>${project.build.java.version}</target> 
       </configuration> 
      </plugin> 
    <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <version>2.3</version> 
     <configuration> 
      <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
      </descriptorRefs> 
      <archive> 
      <manifest> 
       <mainClass>com.zoverge.utils.HelloWorld</mainClass> 
      </manifest> 
      </archive> 
       <finalName>HelloWorld</finalName> 
       <appendAssemblyId>false</appendAssemblyId> 
     </configuration> 
     <executions> 
      <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
<dependencies/> 
</project> 

जिसके परिणामस्वरूप निर्माण 2 जार फ़ाइलें (उम्मीद के रूप में) का उत्पादन HelloWorld-1.0.jar और HelloWorld.jar। न तो जार में HelloWorld.java के लिए संकलित क्लास फ़ाइल है। मुझे लगता है कि यह मेरे पर्यावरण के साथ एक समस्या होनी चाहिए क्योंकि यह व्यवहार अन्य परियोजनाओं के लिए समान है जो अन्य देव मशीनों पर ठीक काम करते हैं, लेकिन मुझे अंतर पता नहीं लग रहा है। कॉन्फ़िगरेशन की तुलना करने के लिए मेरे पिछले देव मशीन तक पहुंच नहीं है। मेरा .m2/setting.xml मूल रूप से खाली है।

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <localRepository>${user.home}/.m2/repository</localRepository> 
    <interactiveMode/> 
    <usePluginRegistry/> 
    <offline/> 
    <pluginGroups/> 
    <servers/> 
    <mirrors/> 
    <proxies/> 
    <profiles/> 
    <activeProfiles/> 
</settings> 
+0

अजीब, मेरे लिए मेवेन 3.0.4 के साथ काम करता है। –

+0

मेरे मैवेन इंस्टॉलेशन में गहरी खुदाई करने के बाद मुझे कई उदाहरण मिले (3.0.3 और 2.2.1)। मुझे इसे साफ करने और फिर से प्रयास करने की जरूरत है ... thx। –

+0

कोई भाग्य नहीं। मैंने पूरी तरह से अनइंस्टॉल किया और मैवेन को पुनर्स्थापित किया और नवीनतम (3.0.4) में अपग्रेड किया और मुझे अभी भी कोई क्लास फाइल नहीं है और अब मेनिफेस्ट में कोई मुख्य श्रेणी सूचीबद्ध नहीं है। प्रकट-संस्करण: 1.0 Archiver-संस्करण: प्लेक्सस Archiver निर्मित-द्वारा: अपाचे Maven निर्मित द्वारा: johnblakie बिल्ड-JDK: 1.6.0_37 –

उत्तर

22

मुझे मेरी समस्या मिली। समस्या फ़ोल्डर संरचना थी। मेवेन एक/src/main/जावा/संरचना मानता है। मेरी संरचना अलग थी और POM.xml में ओवरराइड नहीं किया गया था। मानक पथ से मिलान करना या POM.xml में पथ को ओवरराइड करने से समस्या ठीक हो गई है।

+1

आपको बहुत धन्यवाद – ismail

+0

वाह, यह मुझे याद करने के लिए इतना मूर्ख था लेकिन वास्तव में मेरा मुद्दा था, धन्यवाद !! –

+0

आप जवाब स्वीकार करना चाहते हैं –

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