小编ama*_*urs的帖子

更改配置文件maven中的源目录

我想为特定的maven配置文件使用不同的源目录,但是,当我尝试在配置文件定义中指定它时,我收到此错误:

Unrecognised tag: 'sourceDirectory' (position: START_TAG seen ...<build>\r\n\t\t\t\t<sourceDirectory>... )
Run Code Online (Sandbox Code Playgroud)

pom中的定义如下:

<profile>
    <id>development</id>
    <build>
        <sourceDirectory>${project.build.directory}/new-src</sourceDirectory>
        .
        . 
        .
    </build>
</profile>
Run Code Online (Sandbox Code Playgroud)

我想要做的是在编译之前处理源文件,当且仅当此配置文件处于活动状态时.我的进程将动态更改源文件,将更改的源代码放入"new-src"目录并编译该目录,就好像它是通常的"src/main/java"一样.生命周期中的其他所有内容都应该正常运行.如果这种方法有缺陷,有人能指出我正确的方向吗?

maven

31
推荐指数
1
解决办法
4万
查看次数

如何将javafx类转换为运行时?

我愿意第一次尝试javafx,我去了Oracle javafx网站,发现javafx现在配备了JDK 7u25.我更新了我的java版本,但我不确定我在寻找什么.每当我尝试导入和使用javafx类时,我都会收到"找不到符号"的错误.我在%JAVA_HOME%/ lib中找到了"javafx-mx.jar""javafx-doclet.jar""ant-javafx.jar"文件,但据我了解,这些文件是由JRE而不是JDK使用的.我真的不想依赖任何eclipse插件.我使用maven进行构建过程.我见过几个javafx maven插件,但它们似乎是针对javafx工具的.我弄错了吗?如何才能正确导入这些类?

编辑

现在我可以使用我在这里找到的内容编译项目.它建议添加:

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>javafx</artifactId>
  <version>2.2</version>
  <scope>system</scope>
  <systemPath>${java.home}/lib/jfxrt.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这解决了我的构建问题,但是我无法运行程序,我试图运行这个简单的例子,但是我得到了这个错误:

java.lang.NoClassDefFoundError: javafx/application/Application
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:285)
    at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Run Code Online (Sandbox Code Playgroud)

关于如何将相同的库添加到运行时的任何想法?我正在使用maven-exec-plugin.

javafx maven

5
推荐指数
1
解决办法
8858
查看次数

Maven 构建顺序

我有一个多模块的 maven 构建,我需要一个特定的模块(让我们称之为项目-A)在最后构建。它依赖于一个模块(我们称之为 project-B),该模块包含被编译为 dll 并使用一些 maven 技巧作为 zip 文件安装到 maven 存储库中的本机代码。由于它不直接依赖它,因为本机代码不是 java jar,我使用 Maven Dependency Plugin 解压 zip 文件并将本机 dll 放在我的构建目录中。除了建筑订单外,一切正常。尽管在父项的标记中以相反的方式声明,但它构建了第一个项目-A。我想告诉 maven 项目-A 依赖于项目-B。我尝试将 project-B 添加为依赖项,但由于它不构建 jar,因此会引发错误,这对我来说也很棘手。任何帮助,将不胜感激。

maven

2
推荐指数
1
解决办法
2438
查看次数

标签 统计

maven ×3

javafx ×1