我有一个Java FX项目,正在使用maven 3.0.5进行构建。当我运行mvn package / install时,项目失败,并抱怨该包javafx。
* 不存在。据我了解,Javafx是用Java
1.7打包的,因此该构建没有接受它是没有意义的。当我在IDE(intellij)中编译它时,它可以正常工作,并且之后我的maven构建也成功安装,但是我不希望每次执行全新安装时都必须通过IDE。有任何想法吗?
这是我的pom:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>thenaglecode</artifactId>
<groupId>com.thenaglecode</groupId>
<version>1.0.0.Pre-Alpha</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>system-setup</artifactId>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<jre>
<path>C:\Program Files\Java\jre7</path>
<minVersion>1.7.0</minVersion>
<initialHeapSize>128</initialHeapSize>
<maxHeapSize>1024</maxHeapSize>
</jre>
<jar>${project.build.directory}/${project.build.finalName}.jar</jar>
<outfile>${project.build.directory}/systemsetup.exe</outfile>
<classPath>
<mainClass>com.thenaglecode.Start</mainClass>
</classPath>
<singleInstance>
<mutexName>thenaglecode-system-setup</mutexName>
</singleInstance>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
这是我的日志:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/CommandHelper.java:[3,26] package javafx.application does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[3,26] package javafx.beans.value does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[4,26] package javafx.beans.value does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[5,26] package javafx.collections does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[6,20] package javafx.event does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ListAndOptionsController.java:[7,20] package javafx.event does not exist
...
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/Context.java:[3,28] package javafx.scene.control does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/ServiceMuncher.java:[3,31] package com.sun.istack.internal does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/TypeInfo.java:[3,31] package com.sun.istack.internal does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/NumericOnlyTextFieldChangeListener.java:[3,31] package com.sun.istack.internal does not exist
[ERROR] /C:/Users/Macindows/IdeaProjects/thenaglecode/system-setup/src/main/java/com/thenaglecode/NumericOnlyTextFieldChangeListener.java:[4,26] package javafx.beans.value does not exist
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Process finished with exit code 1
谢谢您的帮助。
将其放在依赖项中(取决于jdk的位置)将有助于依赖项的编译,但是您可能应该用用户可以在settings.xml或maven系统属性中指定的变量替换它:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>javaFX</artifactId>
<version>2.2</version>
<scope>system</scope>
<systemPath>C:\Program Files\Java\jre7\lib\jfxrt.jar</systemPath>
</dependency>
我正在用Java编写一个程序,并且使用JavaFX作为GUI。直到今天,我一直在使用javafx独立编写代码,所有的事情都运行得很顺利。我已经决定开始使用maven,现在项目不编译,也不运行或执行。 这是我的主要课程: 我在其他项目中使用过maven,但从未使用过JavaFX。我该怎么办?
我有一个Java FX项目,正在使用maven 3.0.5进行构建。当我运行mvn package/install时,项目失败并抱怨包javafx.*不存在。据我所知,Javafx是用Java1.7封装的,所以构建过程中不采用这一点是没有意义的。当我在IDE(intellij)中编译它时,它工作得很好,然后我的maven构建也成功安装了,但是我不希望每次进行干净的安装时都要经历IDE。有什么想法吗
问题内容: 在NetBeans 7.2中,我很难找到如何在Maven项目中使用-Xlint:unchecked进行编译。在Ant项目下,可以通过转到Project Properties-> Compiling来更改编译器标志,但是Maven项目似乎没有任何此类选项。 有什么方法可以使用Maven将IDE配置为使用此类标志进行编译? 问题答案: 我猜您可以在pom.xml中设置编译器参数。请参考
我有一个标准的(非JavaFX)MavenJava项目。它应该做的第一件事是加载一个. fxml文件,但是我似乎无法使用找到它。 这是不寻常的,因为此项目是从标准Java项目导入的,该项目运行良好,没有错误。 以下是主要方法: URL总是返回为。 我有作为测试方法,看看URL对象是否返回为null。根据我所读到的关于的所有内容,它应该得到与调用类相同的包中的任何对象,这是。 以下是
我使用我在这里找到的原型创建了一个Maven JavaFX项目:https://github.com/openjfx/javafx-maven-archetypes 一切都运行顺利,我可以运行一个项目,带有一些标签、文本框和一些按钮,没有问题。但是,当我尝试添加WebView元素(尽管IntelliJ中的场景生成器可以识别)时,我无法让导入工作。 我的pom.xml: 我的主要fxml文档来描述视
我这里有一个多模块maven项目。 父项目共有3个模块,with-paranamer,with-paranamer。 下面是项目的结构。 我想使用exec-maven-plugin在withon-paranamer模块中执行类。因此,我在这里的parent pom.xml中的pluginManagement下添加了exec-maven-plugin。 在unit-paranamer模块中,我添加了