Я новичок в Maven
и Java
. Я пытаюсь запустить hdfs MapReduce на удаленном компьютере. У меня нет прав на запись/редактирование файла зависимостей. Мне было интересно, можно ли сделать мой проект Maven JAR
и передать его на мою работу MapReduce. Таким образом, мне не нужно SSH на удаленную машину и изменять зависимости проектов maven. Я бы использовал JAR, который содержал все необходимые зависимости, которые не включены в удаленную машину для запуска моей работы MapReduce.Проект JAR Maven с зависимостями от удаленной машины без зависимостей
0
A
ответ
1
Вы можете сделать это с помощью maven assembly plugin.
Добавьте его в свою POM и настройте соответствующим образом (посмотрите на мой пример ниже).
Это создаст дополнительную банку, содержащую все зависимости, необходимые для запуска банки из командной строки, и отметит класс с помощью метода main()
, который должен быть выполнен (по-другому, это может быть необязательно, поскольку вы может указывать основной класс при запуске java -jar
).
Вот (часть) мои MainJooqClass:
package sunshine.web.shaker.main;
// imports
public class MainJooqClass {
public static void main(String[] args) {
// code
}
}
А вот часть моей POM, что настраивает плагин:
<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">
<!-- ... -->
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>sunshine.web.shaker.main.MainJooqClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies />
</project>
Смежные вопросы
- 1. Maven: Jar с зависимостями VS jar без зависимостей
- 2. Maven jar с зависимостями?
- 3. Как перенести Maven проект Netbeans со всеми зависимостями другой машины
- 4. управления зависимостями Maven зависимостей плагина
- 5. Как найти совместимость зависимостей maven с другими зависимостями maven весной?
- 6. запустить проект maven с зависимостями от командной строки
- 7. Автоматически публиковать Maven проект от затмения doens't публиковать зависимостей Maven
- 8. Создание uber jar с maven
- 9. Создание/развертывание EJB .jar с его зависимостями
- 10. Управление зависимостями с maven
- 11. Maven extract jar, компилировать новые с зависимостями
- 12. maven dependencies-only jar
- 13. Jar от детского П с собственными зависимостями
- 14. Spring Boot Executable Jar File без зависимостей
- 15. Maven: изменение файлов манифеста зависимостей JAR
- 16. Управление зависимостями в проекте Maven
- 17. Управление зависимостями maven - библиотеки с новыми версиями и без репо
- 18. Проект библиотеки Android с зависимостями maven
- 19. развертывание файлов maven jar и зависимостей SNAPSHOT
- 20. Запуска JAR с Maven зависимостей не содержится в этом JAR
- 21. Maven зависимости от зависимостей
- 22. Зависимости в управлении зависимостями от зависимостей в плагинах версий Maven
- 23. Maven плагин зависимости от копирования баночки с зависимостями
- 24. Управление зависимостями с Maven 2
- 25. Build Jenkins: проект Android с зависимостями
- 26. Google Plus Java Cli Starter экспорт jar с зависимостями Maven
- 27. Создание контейнера зависимостей с Maven
- 28. Проблема с зависимостями Maven
- 29. maven release плагин с фазой и jar-с-зависимостями
- 30. Проект Maven без Maven
ли я заменить 'полностью квалифицированное-main' с именем класса, который содержит главную? Я пошел, хотя документация, но у меня все еще есть проблемы – Liondancer
@ Liondancer Да, вам нужно. Я улучшил этот пример в своем ответе. – watery