Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从使用maven assembly创建的jar中排除javafx依赖项?_Java_Maven_Javafx - Fatal编程技术网

如何从使用maven assembly创建的jar中排除javafx依赖项?

如何从使用maven assembly创建的jar中排除javafx依赖项?,java,maven,javafx,Java,Maven,Javafx,我的程序通过maven创建了两个不同的jar:一个是服务器应用程序,另一个是GUI应用程序。 我想把JavaFX放在应用程序中,这样运行它的人就可以在不安装JavaFX的情况下运行它。 问题是现在连服务器Jar里面都有JavaFX,这当然是无用的。 我怎样才能移除它 在我的POM文件中,依赖项是:maven编译器插件,maven汇编插件,javafx图形,javafx控件,javafx fxml,junit。 我在阅读指南时构建了它,在所有2个应用程序中都遵循此模型: <plugin>

我的程序通过maven创建了两个不同的jar:一个是服务器应用程序,另一个是GUI应用程序。 我想把JavaFX放在应用程序中,这样运行它的人就可以在不安装JavaFX的情况下运行它。 问题是现在连服务器Jar里面都有JavaFX,这当然是无用的。 我怎样才能移除它

在我的POM文件中,依赖项是:
maven编译器插件
maven汇编插件
javafx图形
javafx控件
javafx fxml
junit
。 我在阅读指南时构建了它,在所有2个应用程序中都遵循此模型:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>single</goal>
        </goals>
        <configuration>
            <archive>
            <manifest>
                <mainClass>
                    com.baeldung.executable.ExecutableMavenJar
                </mainClass>
            </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
    </execution>
</executions>

org.apache.maven.plugins
maven汇编插件
包裹
单一的
com.baeldung.executable.ExecutableMavenJar
带有依赖项的jar

Hmm.您是否将每个项目放在独立的子模块中?如果是这样,那么JavaFX依赖项应该只为client module.Hmm声明。您是否将每个项目分为独立的子模块?如果是这样,那么JavaFX依赖项应该只为客户机模块声明。