2016-11-30 3 views
0

Я новичок в Maven, и я пытаюсь написать небольшой кусок кода Java. Я включаю некоторые пакеты. Кажется, что Maven загружает все, что мне нужно, но когда дело доходит до компиляции, он не говорит, что не может найти определенный класс. Ошибки также указывают, что он не может найти какой-либо из моих импортных товаров. Может ли кто-нибудь сказать мне, что мне не хватает?Maven не может найти классы после загрузки зависимостей

Это мой код:

package in.myscratchpad.app; 

import com.amazonaws.AmazonClientException; 
import com.amazonaws.AmazonServiceException; 
import com.amazonaws.auth.AWSCredentials; 
import com.amazonaws.auth.profile.ProfileCredentialsProvider; 
import com.amazonaws.regions.Region; 
import com.amazonaws.regions.Regions; 
import com.amazonaws.services.dynamodb.AmazonDynamoDBClient; 

/** 
* Hello world! 
* 
*/ 
public class App 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World!"); 
     AmazonDynamoDBClientBuilder builder = AmazonDBClientBuilder.standard(); 
    } 
} 

Это мой pom.xml:

<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>in.myscratchpad.app</groupId> 
    <artifactId>my-app</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>my-app</name> 
    <url>http://maven.apache.org</url> 
<build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <archive> 
     <manifest> 
      <mainClass>in.myscratchpad.app.App</mainClass> 
     </manifest> 
     </archive> 
    </configuration> 
    </plugin> 
    </plugins> 
</build> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk</artifactId> 
     <version>1.11.60</version> 
     <type>pom</type> 
     <scope>import</scope> 
    </dependency> 
    </dependencies> 
</project> 

Эти ошибки я получаю:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project my-app: Compilation failure: Compilation failure: 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[3,21] package com.amazonaws does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[4,21] package com.amazonaws does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[5,26] package com.amazonaws.auth does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[6,34] package com.amazonaws.auth.profile does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[7,29] package com.amazonaws.regions does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[8,29] package com.amazonaws.regions does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[9,39] package com.amazonaws.services.dynamodb does not exist 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[20,9] cannot find symbol 
[ERROR] symbol: class AmazonDynamoDBClientBuilder 
[ERROR] location: class in.myscratchpad.app.App 
[ERROR] /home/ec2-user/projects/kinesisProducer1/my-app/src/main/java/in/myscratchpad/app/App.java:[20,47] cannot find symbol 
[ERROR] symbol: variable AmazonDBClientBuilder 
[ERROR] location: class in.myscratchpad.app.App 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

Когда я просто держать Привет , Мировой код без пакетов AWS работает нормально, когда я пытаюсь создать клиент службы, я получаю эти ошибки.

+1

В вашем pom.xml возможно ' П' должен быть ' баночки' –

+0

@ScaryWombat Или просто опустить '' тега полностью, то по умолчанию JAR. –

+0

_ pom import _ полезны только в разделе _ для определения версий по умолчанию для областей зависимостей, объявленных в разделе _ _. – Tome

ответ

0

Это говорит

...cannot find symbol 
[ERROR] symbol: variable AmazonDBClientBuilder 
[ERROR] location: class in.myscratchpad.app.App 

Какие швы, чтобы четко объяснить, что она может составить in.myscratchpad.app.App, потому что есть символ в нем (а именно AmazonDBClientBuilder), который не может быть найден!

Я не знаю, что этот класс для но, учитывая, что

  • у вас нет импорта для AmazonDBClientBuilder класса
  • вы присвоить результат AmazonDynamoDBClientBuilder типа

не что опечатка в вашем коде и вы должны использовать вместо этого AmazonDynamoDBClientBuilder.standard()?

Смежные вопросы