SORU
13 Mart 2012, Salı


Can't jar - dosya çalıştırma: "hayır ana bildirim öznitelik"

(Çalıştırılabilir bir jar) hiçbir şey olmuyor onu çalıştırmaya çalıştığımda uygulama yüklü. Ben komut satırında çalıştırın:

-jar "" . app.jar java

Aşağıdaki mesajı alıyorum:

hayır ana manifest özniteliği,"" . app.jar içinde

Eğer bu programı kendim yaratsaydım normalde bildirim dosyası için ana sınıfı özniteliği eklerdim. Ama bu durumda, dosya bir uygulama olduğu için, bunu yapamam. Ben de ana sınıfı bulabilirim, ama daha fazla ders vardır ve bunların hiçbiri "" ad. ana kelime olup olmadığını görmek için kavanoz ayıklama çalıştı Programın diğer sistemlerde iyi çalışır çünkü bunu düzeltmenin bir yolu olmalı.

CEVAP
13 Mart 2012, Salı


Birincisi, biraz garip, java çalıştırmak görmek -kavanoz "" java -jar app.jar . app

İkinci olarak, bir kavanoz çalıştırılabilir yapmak için... bir dosya META-INF adında/BİLDİRİM kavanoz gerekir.MF

(en az) bu bir astar var kendisi gereken dosya:

Main-Class: com.mypackage.MyClass

Neredecom.mypackage.Sınıfımsınıf tutma(String[] args) public static void maingiriş noktası.

Bu da CLİ, Maven veya Ant: halletmek için çeşitli yollar vardır unutmayın

İçinCLİ, yapacak aşağıdaki komutu: (tks @dvvrt) jar cmvf META-INF/MANIFEST.MF <new-jar-filename>.jar <files to include>

İçinMavenaşağıdaki Pasajı gibi bir şey hile yapmak gerekir. Bu sadece eklenti tanımı tam değildir unutmayınpom.xml:

<build>
  <plugins>
    <plugin>
      <!-- Build an executable JAR -->
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>com.mypackage.MyClass</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

İçinAntparçacık aşağıda yardımcı olacaktır:

<jar destfile="build/main/checksites.jar">
  <fileset dir="build/main/classes"/>
  <zipfileset includes="**/*.class" src="lib/main/some.jar"/>
  <manifest>
    <attribute name="Main-Class" value="com.acme.checksites.Main"/>
  </manifest>
</jar>

Michael Niemand Kredi

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • ShayLoss

    ShayLoss

    5 Kasım 2009