2017-08-28 359 views
0

我閱讀官方http://javaparser.org/頁面,但我不知道如何安裝它。 我看到這個答案https://stackoverflow.com/a/32215185/7643663這讓我如何在Maven中包含JavaParser依賴關係?

easily create a project using Maven and including among the dependencies 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 Dependencies。

這裏是我的pom.xml與JavaParser類核心依賴性:

<?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> 
+0

你還在使用IDE嗎?它可能需要刷新以反映最近的文件更改 –

+0

顯示您的一些代碼,包括導入。我的猜測是你的一些進口不正確。 – lexicore

+0

您是否正在運行'mvn clean install',其中pom.xml(其中添加了javaparser-core依賴項)存在? – ankitkpd

回答

0

I executed mvn clean install in the directory I downloaded the javaparser source code with no errors.

不,你不應該那樣做。 maven的要點是,它需要一個庫的編譯版本(例如JavaParser),下載它並讓你在自己的項目中使用它。這意味着除非您想更改JavaParser本身(您不想),否則不需要下載JavaParser的源代碼。

只需創建您自己的項目並添加JavaParser作爲該項目的依賴項即可。這就對了。

1

你輸入錯誤的是:

import com.github.javaparser.JavaParser.*; 

您嘗試從JavaParser類導入就好像它是一個包。

應該

import com.github.javaparser.JavaParser; 

或者

import com.github.javaparser.*; 

爲了你使用的類/包。

@WilliamReed I don't use an IDE. – AIpeter

那麼,也許你應該,它會幫助你解決這類問題。

的另一個問題是在這裏:

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

你應該使用dependencies,不dependencyManagement/dependencies。後者只聲明依賴關係,並不實際使用它們。

+0

當我嘗試'import com.github.javaparser.JavaParser。;'或'import com.github.javaparser。*;'我仍然得到同樣的錯誤'錯誤:包com.github.javaparser不存在'。 – AIpeter

+0

@AIpeter查看我答案的更新。 – lexicore

+0

如果使用Maven構建它,爲什麼要調用'javac'? – lexicore