首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OS上编译TuxGuitar,javac找不到包

在OS上编译TuxGuitar,javac找不到包
EN

Stack Overflow用户
提问于 2014-11-15 21:11:44
回答 1查看 437关注 0票数 1

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

svn checkout svn://svn.code.sf.net/p/tuxguitar/code/trunk tuxguitar-code

现在,当我运行make (它反过来使用ant )时,似乎javac无法在项目源代码树中找到Java。我已经将make的全部输出放在http://people.kth.se/~albertwi/tuxg-make-error上;它很大,所以我不能把所有的输出都放在一个代码块中。

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

代码语言:javascript
复制
[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表单上的文件夹--一些程序组件/src/org/herac/tux吉他,例如TuxGuitar-ascii/src/org和TuxGuitar-fluidsynth/src/org,我认为这些文件夹应该包含在这里,但它们不是):

代码语言:javascript
复制
[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'
...

然后,在第1143行和之后,我得到了"package org.herac.tuxguitar.some package不存在“错误:

代码语言:javascript
复制
[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]                                 ^
...

我对makeant不太熟悉。如何以及在何处进行配置更改,以便javac能够找到包?

这个问题是否牵涉到这个问题,我应该去问TuxGuitar开发人员吗?

Update:我尝试使用https://sourceforge.net/p/tuxguitar/discussion/522984/thread/3843b30b/#1ce9建议的另一种编译方式,所以我转到了一个文件夹build/tuxitt-MacOSX-Coo-64并运行了mvn clean package -Dnative-modules=true,但是我得到了与SWT相关的错误.这基本上是(在http://people.kth.se/~albertwi/tuxg-mvn-error上的全部输出):

代码语言:javascript
复制
[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]   
...

我在/Library/Java/扩展中有最新版本(4.4)的swt.jar,因此它应该在类路径上。

EN

回答 1

Stack Overflow用户

发布于 2014-11-17 19:35:47

我遇到了同样的麻烦,看起来Makefile是坏的,因为它使用ant而不是maven。下面是我所做的一些步骤(感谢我的大学毕业典礼,它出生于java,而我则使用穿孔卡):

代码语言:javascript
复制
$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

这对我来说确实适用于3台不同的电脑,不过都是基于debian的。希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26950771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档