在NetBeans"工作区"对于Java,有几个项目(所有目录都在同一级别):
main(String[] args)
方法)我试图通过提供" stubs"来在Windows上调试它。 (只是一些空方法)Windows源代码通过 JNILibrary \ pom.xml 中的配置文件:
<groupId>com.example</groupId>
<artifactId>jnilibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>com.example.test</groupId>
<artifactId>Main</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../Main/pom.xml</relativePath>
</parent>
<build>
<sourceDirectory>${src.dir}</sourceDirectory>
</build>
<profiles>
<profile>
<id>windows</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<src.dir>src/windows/java</src.dir>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<src.dir>src/linux/java</src.dir>
</properties>
</profile>
</profiles>
之后,当我右键单击NetBeans中的 JNILibrary 项目时,我可以选择Set Configuration -> linux
或Set Configuration -> Windows
。
不幸的是,当我尝试调试 MainExecutable 项目时 - 它仍然(构建并)启动Linux版本 - 并且无法在我的Windows PC上启动。
有人可以指出如何解决我的问题吗?
以下摘录自 Main \ pom.xml :
<groupId>com.example.test</groupId>
<artifactId>Main</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Main</name>
<modules>
<module>../MainExecutable</module>
<module>../jnilibrary</module>
<module>../10/further/modules</module>
</modules>
这里摘录自 MainExecutable \ pom.xml :
<parent>
<groupId>com.example.test</groupId>
<artifactId>Main</artifactId>
<relativePath>../Main</relativePath>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>MainExecutable</artifactId>
<packaging>jar</packaging>
答案 0 :(得分:2)
正如您所写,将2个配置文件移至Main / pom.xml并向其添加新属性jnilibrary.src.dir
<profiles>
<profile>
<id>windows</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<jnilibrary.src.dir>src/windows/java</src.dir>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jnilibrary.src.dir>src/linux/java</src.dir>
</properties>
</profile>
</profiles>
并在JNILibrary \ pom.xml中使用该属性
<build>
<sourceDirectory>${jnilibrary.src.dir}</sourceDirectory>
</build>
答案 1 :(得分:1)
您可以使用操作系统名称激活配置文件:
<build>
<sourceDirectory>${src.dir}</sourceDirectory>
</build>
<profiles>
<profile>
<id>windows</id>
<activation>
<os>
<name>Windows</name>
</os>
</activation>
<properties>
<src.dir>src/windows/java</src.dir>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<os>
<name>Linux</name>
</os>
</activation>
<properties>
<src.dir>src/linux/java</src.dir>
</properties>
</profile>
</profiles>