在另一个关于 JavaParser 的线程中,您写道:“它不应该有任何依赖性”。但是 JavaParser 依赖于一个特殊的 ParseException:
在 JavaParser 中,line 205: throw new ParseException(ioe.getMessage())
block 引用>The constructor ParseException(String) is undefined - Add argument to match ParseException(String, int) E.g. java.text.ParseException (and three others) has one more int parameter, errorOffset.
在
line 125 (and 8 more lines): new InstanceJavaParser(reader1).parse...()
block 引用>The method parse() from the type InstanceJavaParser refers to the missing type ParseException
我可以从哪里下载哪个 jar 来获取这个特殊的 ParseException?
(已编辑)
也许我应该提供比评论更多的细节:
在 Windows 10 中:已安装 Maven,mkdir D:\workspaces\trunk\JavaParser-from-Maven\
cmd D: cd D:\workspaces\trunk\JavaParser-from-Maven\ D:\workspaces\trunk\JavaParser-from-Maven>mvn archetype:generate -DgroupId=com.github.javaparser -DartifactId=javaparser-core -DinteractiveMode=false => Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom (4 KB at 35.4 KB/sec) [...] and many more .pom files [...] [INFO] Generating project in Batch mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar (5 KB at 38.5 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom (703 B at 5.5 KB/sec) [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: basedir, Value: D:\workspaces\trunk\JavaParser-from-Maven [INFO] Parameter: package, Value: com.github.javaparser [INFO] Parameter: groupId, Value: com.github.javaparser [INFO] Parameter: artifactId, Value: javaparser-core [INFO] Parameter: packageName, Value: com.github.javaparser [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: D:\workspaces\trunk\JavaParser-from-Maven\javaparser-core [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS
[...] => 创建 D:\workspaces\trunk\JavaParser-from-Maven\javaparser-core\pom.xml
已创建 D:\workspaces\trunk\JavaParser-from-Maven\javaparser-core\src\main\java\com\github\javaparser\App.java (1 KB),显示“Hello World”
=> 已经下载了很多 .pom 文件和 App.java,但还没有 JavaParser 文件 => acc。到“如何编译源代码”:
尝试使用版本参数:
D:\workspaces\trunk\JavaParser-from-Maven>mvn archetype:generate -DgroupId=com.github.javaparser -DartifactId=javaparser-core -Dversion=2.1.0 -DinteractiveMode=false => [...] Building Maven Stub Project (No POM) 1 [...] [INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>>
=> 已经下载了很多.pom文件和一个App.java,但是还没有JavaParser文件
=> 根据。到“如何编译源代码”:
cd javaparser-core // where the POM.xml resides mvn clean install => Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.jar (149 KB at 152.8 KB/sec) [...] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ javaparser-core --- Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom [...] [...] [INFO] Changes detected - recompiling the module! [...] T E S T S Running com.github.javaparser.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
生成附加源文件:
D:\workspaces\trunk\JavaParser-from-Maven\javaparser-core>mvn javacc:javacc => [INFO] Scanning for projects... Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/javacc-maven-plugin/maven-metadata.xml [...] [...] [INFO] Building javaparser-core 2.1.0 [...] Downloaded: ... .pom files ... Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.jar Downloaded: ... another 57 .jar files ... [INFO] Skipping non-existing source directory: D:\workspaces\trunk\JavaParser-from-Maven\javaparser-core\src\main\javacc [INFO] BUILD SUCCESS
为什么我只得到一个虚拟的 App.java 而没有任何关于 JavaParser 的信息?
所有 .pom 和 .jar 都去哪里了?
.pom 和 .jar 有何影响?
最佳答案
该文件是在构建 JavaParser 项目时生成的。这就是为什么它不在存储库中,这就是为什么我们仍然可以拥有零依赖项。
如果问题是您的 IDE 找不到此文件,请将其指向包含生成源的目标文件夹内的目录。
关于JavaParser:构造函数 ParseException(字符串)未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381886/