我的任务是维护一个大型 Java/C++ 项目,使用 NetBeans (7.0.1) 和 Maven/Ant 进行构建,所有项目都在 CentOS 6 上运行。
我目前遇到构建脚本的问题。
脚本是 Maven,但调用了一个 ant 任务:
<!-- create jar launch script -->
<echo file="${techsas.home}/run-exe-jar"
message="#!/bin/bash${line.separator}java -jar -Dlog4j.configuration=file:///${TECHSAS_HOME}/log4j.xml bin/${project.artifactId}-${project.version}.jar" append="false">
</echo>
问题出在第一行。运行脚本将导致此错误:
BUILD ERROR
--------------------------------------------------
An Ant BuildException has occured: java.io.FileNotFoundException: /home/techsas/NetbeansProjects/<snip>/${TECHSAS_HOME}/run-exe-jar (No such file or director)
$TECHSAS_HOME 是一个有效的环境变量 - 正在运行
echo $TECHSAS_HOME
在命令行会给出正确的值。
我是 NetBeans 和 Maven 的新手 - 我的在线研究没有找到任何解决方案。我想我可能在这里犯了一些基本错误。
NetBeans 似乎无法解析 ${TECHSAS_HOME} 变量 - 虽然我不知道为什么它首先将它附加到 ${techsas.home} 的末尾(有没有办法打印 ${techsas.home} 的值${techsas.home} 来自 NetBeans?)
无论如何,非常感谢任何帮助 - 我现在有点迷茫。
最佳答案
如果您使用的是 Gnome(例如在 Ubuntu 上),您需要在 ~/.gnomerc
中设置环境变量,以便它们对从桌面启动的应用程序可见。
参见:How do I pass an environment variable to a Netbeans Makefile on Ubuntu?
关于linux - NetBeans/Maven/Ant 构建脚本错误 - 环境变量 (Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11516257/