mavenAndJar

В интернете полно вопросов, о том как создать с помощью maven исполняемый jar. Вот пару готовых решений. Бери и вставляй себе в pom.xml !

  1. Создать исполняемый jar файл полностью автономный со всеми зависимостями внутри.
    1. <build>
    2. <plugins>
    3. <plugin>
    4. <artifactId>maven-assembly-plugin</artifactId>
    5. <configuration>
    6. <archive>
    7. <manifest>
    8. <mainClass>ru.electrictower.example.App</mainClass>
    9. </manifest>
    10. </archive>
    11. <descriptorRefs>
    12. <descriptorRef>jar-with-dependencies</descriptorRef>
    13. </descriptorRefs>
    14. </configuration>
    15. </plugin>
    16. </plugins>
    17. </build>

    ru.synesis.example.App — естесвенно путь до вашего исполняемого класса(этот тот в котором public static void main(String[] args)). Собирать командой:

    mvn clean assembly:assembly
  2. Создать jar файл полностью автономный, а все jar из зависимостей сложить в директорию lib.
    1. <build>
    2. <plugins>
    3. <plugin>
    4. <artifactId>maven-jar-plugin</artifactId>
    5. <configuration>
    6. <archive>
    7. <manifest>
    8. <addClasspath>true</addClasspath>
    9. <classpathPrefix>lib/</classpathPrefix>
    10. <mainClass>ru.electrictower.example.App</mainClass>
    11. </manifest>
    12. </archive>
    13. </configuration>
    14. </plugin>
    15. <plugin>
    16. <groupId>org.apache.maven.plugins</groupId>
    17. <artifactId>maven-dependency-plugin</artifactId>
    18. <version>2.1</version>
    19. <executions>
    20. <execution>
    21. <id>copy-dependencies</id>
    22. <phase>package</phase>
    23. <goals>
    24. <goal>copy-dependencies</goal>
    25. </goals>
    26. <configuration>
    27. <outputDirectory>${project.build.directory}/lib</outputDirectory>
    28. <overWriteReleases>false</overWriteReleases>
    29. <overWriteSnapshots>false</overWriteSnapshots>
    30. <overWriteIfNewer>true</overWriteIfNewer>
    31. </configuration>
    32. </execution>
    33. </executions>
    34. </plugin>
    35. </plugins>
    36. </build>

    Собирать командой:
    mvn clean package
  3. В задаче 2 сделать так, чтобы log4j.properties файл был запечатан не в jar, а лежал рядом.
    <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>log4j.properties</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>log4j.properties</include>
                    </includes>
                    <targetPath>..</targetPath>
                </resource>
    </resources>

    Собирать командой:

    mvn clean package

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс