【问题标题】:NetBeans/Maven/Ant Build Script Errors - Environment Variables (Linux)NetBeans/Maven/Ant 构建脚本错误 - 环境变量 (Linux)
【发布时间】:2012-07-17 05:00:42
【问题描述】:

我的任务是维护一个大型 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} 来自 NetBeans?)

无论如何,非常感谢任何帮助 - 我现在有点迷茫。

【问题讨论】:

  • 你运行的是哪个 linux 发行版?
  • 那是用 Gnome 还是别的什么?

标签: linux maven netbeans ant


【解决方案1】:

如果您使用的是 Gnome(例如在 Ubuntu 上),您需要在 ~/.gnomerc 中设置环境变量,以便从桌面启动的应用程序可以看到它们。

见:How do I pass an environment variable to a Netbeans Makefile on Ubuntu?

【讨论】:

  • 嗯,看起来应该是解决方案。它确实在运行 Gnome (2.28.2)。我用所需的导出语句创建了 ~/.gnomerc,重新启动,但仍然没有 - 似乎这可能没有被执行,在终端运行 echo $TECHSAS_HOME 将不会返回任何内容(我仍然在 NetBeans 中遇到相同的错误)
  • @Caligari 也许试试~/.profile 或这些其他文件之一? superuser.com/questions/19044/…
【解决方案2】:

好吧,我解决了。有点。

在根 pom 中,项目的主目录是这样定义的:

<techsas.home>${TECHSAS_HOME}</techsas.home>

即,将环境变量 $TECHSAS_HOME 复制到 Maven 变量 techsas.home。

但是,由于某种原因,${TECHSAS_HOME} 无法解析 - 即使变量设置正确(通过 .gnomerc 和 .bashrc - 感谢@therefromhere)。 ${env.TECHSAS_HOME} 也不起作用,据我所知这是正确的方法(例如http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

将其更改为实际路径 - 即

<techsas.home>/usr/local/techsas</techsas.home>

使它工作正常。为什么它会这样(AFAIK 存储库中的构建脚本应该是正确的)对我来说仍然是一个谜 - 但至少我暂时有一个解决方法。

【讨论】:

    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多