Я пытаюсь создать и запустить приложение, которое может работать как на Windows, так и на Mac.Я довольно новичок в java, поэтому изучал варианты создания работоспособного jar-файла как для Windows, так и для Mac (с разными зависимостями)
Таким образом, в основном существует один основной класс, и единственное отличие состоит в том, что одно приложение использует SWTorg.eclipse.swt.win32.win32.x86_64
зависимость, а другая - org.eclipse.swt.cocoa.macosx.x86_64
зависимость.
В настоящее время у меня есть следующий maven assambly параметр:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<mainClass>com.connectingmedia.swttest.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
И мои зависимости:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.swt</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
<version>4.3</version>
</dependency>
</dependencies>
Теперь это прекрасно работает для создания исполняемого файла jar для Windows.И я могу изменить зависимость от версии SWT для Mac для версии jar для Mac.Но было бы неплохо создать и то и другое одновременно.Я нашел следующие вопросы для создания нескольких исполняемых jar-файлов: Создание двух исполняемых jar-файлов с использованием maven-assembly-plugin
Но они используют другой основной класс, а не разные зависимости.<descriptorRef>jar-with-dependencies</descriptorRef>
, кажется, всегда включает в себя все зависимости, или есть способ выбрать, какую из них использовать?
В любом случае, главный вопрос: я иду правильным путем, чтобы создать файл maven, который создает несколько запускаемыхбанки с разными зависимостями?