【问题标题】:Java makefile under windows chokes on accent marksWindows下的Java makefile在重音符号上窒息
【发布时间】:2014-06-09 10:13:09
【问题描述】:

首先,对不起,如果这是微不足道的,我没有制作文件的经验,我只在 Windows 上开发并且我习惯了 IDE。

我需要编译一个外部 java 库。它带有一个生成文件。不幸的是,我在运行它时遇到了很多麻烦。

我从 GnuWin32 工具集中安装了 make 和 grep 并将其添加到我的路径变量中。 当我尝试运行 makefile 时,它​​会窒息:

"javac: invalid flag: `find"
Usage: javac <options> <source files>

它似乎在解释重音符号时遇到了问题。那应该是被文本编码杀死的引号吗?我做了一个快速的谷歌搜索,但我没有找到任何相关的东西。

这是我尝试运行的完整 make 文件:

# UNIX:
#JAVAC=javac -encoding utf8 -target 1.6 -source 1.6 -Xlint:deprecation -Xlint:unchecked -cp "../lib/asm-4.1.jar:../lib/asm-analysis-4.1.jar:../lib/asm-commons-4.1.jar:../lib/asm-tree-4.1.jar:../lib/asm-util-4.1.jar:../lib/asm-xml-4.1.jar:../lib/junit-4.0.jar"
# Win32:
JAVAC=javac -encoding utf8 -target 1.6 -source 1.6 -Xlint:deprecation -Xlint:unchecked -cp "../lib/asm-4.1.jar;../lib/asm-analysis-4.1.jar;../lib/asm-commons-4.1.jar;../lib/asm-tree-4.1.jar;../lib/asm-util-4.1.jar;../lib/asm-xml-4.1.jar;../lib/junit-4.0.jar"
JAVA=java
SOURCES=`find . -name "*.java" | grep -v \\\#`
JAR=pqlib.jar

.PHONY = all default clean test benchmark jar

default: all

all:
    ${JAVAC} `find . -name "*.java" | grep -v \\\#` 

clean:
    rm -f `find . -name "*.class"`

test: all
    ${JAVA} org.junit.runner.JUnitCore `find edu -name "*Test.java" | grep -v \\\# | sed 's/^\.\///' | sed 's/\.java//' | tr '/' '.'`

benchmark: all bench/MiniBench.class
    ${JAVA} bench.MiniBench

jar: all
    rm -f ${JAR}
    jar cf ${JAR} `find edu -name "*.class" | grep -v Test` 

非常感谢任何帮助。

【问题讨论】:

  • cygwinWindows 上提供findbacktick 命令替换。
  • 应该可以将该库的目录树输入到Eclipse(或其他IDE)中并在那里编译,然后构建jar。 make 文件没有做任何值得注意的事情。

标签: java makefile


【解决方案1】:

看来您需要安装 Cygwin32 并将其 bin 目录添加到您的路径。

findgrep 等命令都是其中的一部分。或者您可以像使用 grep 一样一一安装它们。

您的库是否有 README 或 INSTALL 文件?这些东西通常会在那些文件中解释。

【讨论】:

  • 遗憾的是,自述文件中的安装信息为零,仅涵盖了在哪里可以找到一些重要的类。我也添加了 find GnuWin,但它仍然将 `find 作为参数提供给 javac,而不是先解析它(我猜)。我现在正在下载 cygwin,尽管安装程序本身已经让我很头疼。坚持使用基础和开发包,希望就足够了。
猜你喜欢
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多