2

我阅读了官方http://javaparser.org/页面,但我不知道如何安装它。我看到了这个答案https://stackoverflow.com/a/32215185/7643663告诉我

使用 Maven 轻松创建项目并在依赖项中包含 JavaParser

随着

<dependency>
    <groupId>com.github.javaparser</groupId>
    <artifactId>javaparser-core</artifactId>
    <version>2.2.1</version>
</dependency>

但我不知道如何使用 javaparser 和 maven 构建我的代码。我mvn clean install在下载javaparser源代码的目录中执行,没有错误。然后我尝试运行以下命令:

import com.github.javaparser.JavaParser.*;

public class PreprocessJavaparser {

    public static void listClasses() {
        CompilationUnit compilationUnit = JavaParser.parse("class A { }");
        ClassOrInterfaceDeclaration classA = compilationUnit.getClassByName("A");

    }

    public static void main(String[] args) {
        listClasses();
    }
}

但是当我导入com.github.javaparser.JavaParser.*;我得到这个错误:package com.github.javaparser.JavaParser does not exist
所以我认为我没有正确安装 JavaParser,或者我必须以某种方式处理 pom.xml 中的 JavaParser 依赖项。

这是我的 pom.xml 与 javaparser-core 依赖项:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>test</groupId>
    <artifactId>preprocess</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.github.javaparser</groupId>
                <artifactId>javaparser-core</artifactId>
                <version>3.3.2</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
4

2 回答 2

1

您的导入错误:

import com.github.javaparser.JavaParser.*;

您尝试从JavaParser类中导入,就好像它是一个包一样。

应该

import com.github.javaparser.JavaParser;

或者

import com.github.javaparser.*;

对于您使用的所有类/包。

@WilliamReed 我不使用 IDE。– 艾彼得

好吧,也许你应该这样做,它会帮助你解决这类问题。

另一个问题在这里:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.github.javaparser</groupId>
            <artifactId>javaparser-core</artifactId>
            <version>3.3.2</version>
        </dependency>
    </dependencies>
</dependencyManagement>

你应该使用dependencies,而不是dependencyManagement/dependencies。后者仅声明依赖项,并不实际使用它们。

于 2017-08-29T08:48:08.810 回答
0

我在下载javaparser源代码的目录中执行了mvn clean install,没有错误。

不,你不应该那样做。maven 的全部意义在于它获取库的编译版本(例如JavaParser),下载它并让您在自己的项目中使用它。这意味着除非您想更改 JavaParser 本身(您不想这样做),否则您不需要下载 JavaParser 的源代码。

只需创建您自己的项目并将 JavaParser 添加为该项目的依赖项即可。这就对了。

于 2017-10-20T20:32:17.373 回答