Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OSX上编译Tux吉他,javac可以';找不到包裹_Java_Ant_Makefile_Classpath_Javac - Fatal编程技术网

在OSX上编译Tux吉他,javac可以';找不到包裹

在OSX上编译Tux吉他,javac可以';找不到包裹,java,ant,makefile,classpath,javac,Java,Ant,Makefile,Classpath,Javac,我正在尝试在OS X上编译TuxGuitar(一个吉他图表编辑器)。我已经从TuxGuitar存储库中签出了代码: svn签出svn://svn.code.sf.net/p/tuxguitar/code/trunk Tux吉他代码 现在,当我运行make时,它反过来使用ant,似乎javac在项目源代码树中找不到Java包。我把make的完整输出放在了;它很大,所以我不能把它全部放在一个代码块中 我假设这是一个半琐碎的类路径问题,但我不知道如何修改构建配置。在第307行及以后的make输出中,以

我正在尝试在OS X上编译TuxGuitar(一个吉他图表编辑器)。我已经从TuxGuitar存储库中签出了代码:

svn签出svn://svn.code.sf.net/p/tuxguitar/code/trunk Tux吉他代码

现在,当我运行
make
时,它反过来使用
ant
,似乎
javac
在项目源代码树中找不到Java包。我把
make
的完整输出放在了;它很大,所以我不能把它全部放在一个代码块中

我假设这是一个半琐碎的类路径问题,但我不知道如何修改构建配置。在第307行及以后的
make
输出中,以“some_file.java添加为some_file.class不存在”的形式出现错误/警告,我不知道这意味着什么:

[javac] org/herac/tuxguitar/app/TGMain.java added as org/herac/tuxguitar/app/TGMain.class doesn't exist.
[javac] org/herac/tuxguitar/app/TuxGuitar.java added as org/herac/tuxguitar/app/TuxGuitar.class doesn't exist.
[javac] org/herac/tuxguitar/app/action/TGActionAccessInterceptor.java added as org/herac/tuxguitar/app/action/TGActionAccessInterceptor.class doesn't exist.
...
在第715行及以后的行中,包含了一些类路径,但似乎并非所有必要的文件夹都附加在此处(TuxGuitar源代码树包含TuxGuitar some program component/src/org/herac/TuxGuitar格式的文件夹,例如TuxGuitar ascii/src/org和TuxGuitar FluidSync/src/org,我认为应该包括在这里,但它们没有包括在内):

然后在第1143行及以后的行中,我得到“package org.herac.tuxguitart.some package not existing”错误:

我不太熟悉
make
ant
。我如何以及在哪里进行配置更改,以便
javac
可以找到包

这个问题是不是太复杂了,我应该问问TuxGuitar的开发者

更新:我尝试使用上建议的另一种编译方式,因此我转到一个文件夹build scripts/tuxguit-macosx-cocoa-64并运行
mvn clean package-Dnative modules=true
,但随后我得到了与SWT相关的错误…这基本上是(完全输出在):


我在/Library/Java/Extensions中有最新版本(4.4)的swt.jar,所以它应该在类路径上。

我也遇到了同样的问题,它看起来像是使用ant而不是maven的Makefile被破坏了。 以下是我所做的步骤(多亏了我的同事,在我使用穿孔卡片时,他们与java一起诞生):

这对我来说在3台不同的计算机上都很有效,不过都是基于debian的。
希望这能有所帮助

类路径是否包含“.”?请尝试更新类路径以包含当前目录(“.”@MadProgrammer)。我得到了与此相同的错误。我假设您指的是当前目录中包含Makefile的目录
[javac] Compilation arguments:
[javac] '-d'
[javac] '/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/build'
[javac] '-classpath'
[javac] '/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/build:/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar:/opt/local/share/java/apache-ant/lib/ant-launcher.jar:/opt/local/share/java/apache-ant/lib/ant-antlr.jar:/opt/local/share/java/apache-ant/lib/ant-apache-bcel.jar:/opt/local/share/java/apache-ant/lib/ant-apache-bsf.jar:/opt/local/share/java/apache-ant/lib/ant-apache-log4j.jar:/opt/local/share/java/apache-ant/lib/ant-apache-oro.jar:/opt/local/share/java/apache-ant/lib/ant-apache-regexp.jar:/opt/local/share/java/apache-ant/lib/ant-apache-resolver.jar:/opt/local/share/java/apache-ant/lib/ant-apache-xalan2.jar:/opt/local/share/java/apache-ant/lib/ant-commons-logging.jar:/opt/local/share/java/apache-ant/lib/ant-commons-net.jar:/opt/local/share/java/apache-ant/lib/ant-jai.jar:/opt/local/share/java/apache-ant/lib/ant-javamail.jar:/opt/local/share/java/apache-ant/lib/ant-jdepend.jar:/opt/local/share/java/apache-ant/lib/ant-jmf.jar:/opt/local/share/java/apache-ant/lib/ant-jsch.jar:/opt/local/share/java/apache-ant/lib/ant-junit.jar:/opt/local/share/java/apache-ant/lib/ant-junit4.jar:/opt/local/share/java/apache-ant/lib/ant-netrexx.jar:/opt/local/share/java/apache-ant/lib/ant-swing.jar:/opt/local/share/java/apache-ant/lib/ant-testutil.jar:/opt/local/share/java/apache-ant/lib/ant.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/tools.jar'
[javac] '-sourcepath'
[javac] '/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/src'
...
[javac] /Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/src/org/herac/tuxguitar/app/TuxGuitar.java:27: error: package org.herac.tuxguitar.action does not exist
[javac] import org.herac.tuxguitar.action.TGActionManager;
[javac]                                  ^
[javac] /Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/src/org/herac/tuxguitar/app/TuxGuitar.java:68: error: package org.herac.tuxguitar.document does not exist
[javac] import org.herac.tuxguitar.document.TGDocumentManager;
[javac]                                    ^
[javac] /Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/src/org/herac/tuxguitar/app/TuxGuitar.java:69: error: package org.herac.tuxguitar.event does not exist
[javac] import org.herac.tuxguitar.event.TGEvent;
[javac]                                 ^
...
[INFO] Scanning for projects...
[ERROR] The build could not read 18 projects -> [Help 1]
[ERROR]   
[ERROR]   The project org.herac.tuxguitar:tuxguitar:1.3-SNAPSHOT (/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/pom.xml) has 1 error
[ERROR]     'dependencies.dependency.version' for org.eclipse.swt:org.eclipse.swt:jar is missing. @ org.herac.tuxguitar:tuxguitar:[unknown-version], /Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar/pom.xml, line 26, column 15
[ERROR]   
[ERROR]   The project org.herac.tuxguitar:tuxguitar-browser-ftp:1.3-SNAPSHOT (/Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar-browser-ftp/pom.xml) has 1 error
[ERROR]     'dependencies.dependency.version' for org.eclipse.swt:org.eclipse.swt:jar is missing. @ org.herac.tuxguitar:tuxguitar-browser-ftp:[unknown-version], /Users/awifstrand/src/tuxg/tuxguitar-code/TuxGuitar-browser-ftp/pom.xml, line 35, column 15
[ERROR]   
...
$svn checkout svn://svn.code.sf.net/p/tuxguitar/code/trunk tuxguitar-code
$sudo apt-get install maven
$cd tuxguitar-code
$uname -a
Linux acacia 3.16-3-amd64 #1 SMP Debian 3.16.5-1 (2014-10-10) x86_64 GNU/Linux
$cd build-scripts/tuxguitar-linux-x86_64
$rehash
$mvn clean package
$cd target
$cd tuxguitar-1.3-SNAPSHOT-linux-x86_64
$./tuxguitar.sh