আমি মাভেন ব্যবহার করে "লগম্যানেজার" নামে একটি ছোট হোম প্রকল্পের জন্য একটি এক্সিকিউটেবল জার তৈরি করার চেষ্টা করছি:
মাভেন ব্যবহার করে নির্ভরতার সাথে আমি কীভাবে এক্সিকিউটেবল জেআর তৈরি করতে পারি?
আমি সেখানে প্রদর্শিত স্নিপেটকে pom.xML এ যুক্ত করেছি, এবং mvn সমাবেশটি চালিয়েছি: সমাবেশ assembly এটি লগম্যানেজার / টার্গেটে দুটি জার ফাইল উত্পন্ন করে: লগম্যানেজার -১.০.০.জার, এবং লগম্যানেজার -১.০.০-জার-নির্ভরতা-নির্ভরতা সহ jar আমি প্রথম জারে ডাবল ক্লিক করলে আমি একটি ত্রুটি পেয়েছি:
Could not find the main class: com.gorkwobble.logmanager.LogManager. Program will exit.
আমি যখন নির্ভরতা সহ জারের সাথে ডাবল ক্লিক করি তখন কিছুটা ভিন্ন ত্রুটি:
Failed to load Main-Class manifest attribute from: C:\EclipseProjects\logmanager\target\logmanager-0.1.0-jar-with-dependencies.jar
আমি পথ এবং ক্লাসের নামটি অনুলিপি করে আটকে দিয়েছি এবং POM এ বানানটি পরীক্ষা করেছি। আমার মূল ক্লাসটি একটি গ্রহন লঞ্চ কনফিগারেশন থেকে সূক্ষ্ম প্রবর্তন করে। আমার জার ফাইলটি কেন চলবে না তা বুঝতে কেউ আমাকে সাহায্য করতে পারে? এছাড়াও, কেন দুটি জার দিয়ে শুরু হবে? আপনার যদি আরো তথ্য লাগে তবে আমাকে জানাবেন।
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gorkwobble</groupId>
<artifactId>logmanager</artifactId>
<name>LogManager</name>
<version>0.1.0</version>
<description>Systematically renames specified log files on a scheduled basis. Designed to help manage MUSHClient logging and prevent long, continuous log files.</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<!-- nothing here -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.gorkwobble.logmanager.LogManager</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- commons-lang -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<!-- Quartz scheduler -->
<dependency>
<groupId>opensymphony</groupId>
<artifactId>quartz</artifactId>
<version>1.6.3</version>
</dependency>
<!-- Quartz 1.6.0 depends on commons collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
<!-- Quartz 1.6.0 depends on commons logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<!-- Quartz 1.6.0 requires JTA in non J2EE environments -->
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
<scope>runtime</scope>
</dependency>
<!-- junitx test assertions -->
<dependency>
<groupId>junit-addons</groupId>
<artifactId>junit-addons</artifactId>
<version>1.4</version>
<scope>test</scope>
</dependency>
<!-- junit dependency; FIXME: make this a separate POM -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
</dependency>
</dependencies>
<dependencyManagement>
</dependencyManagement>
</project>