2017-10-20 128 views
0

我写了一个使用客户机/服务器体系结构的Java聊天应用程序。作为一个使用Maven的构建工具。服务器侧接口是基于命令行和问题是,我无法通过CMD既不与命令Java无法打开主类和jar文件

java Main 

从{BASEDIR} /目标/类运行应用程序(主是我的主类),也不带命令打开jar文件

java -jar ChatServer-1.0-SNAPSHOT 

form {basedir}/target。我没有为我的类创建任何包,它们被放置在{basedir}/src/main/java目录中。当我尝试加载我的主类,这是输出:

Error: Could not find or load main class Main 

当我尝试打开我的jar文件,这是输出:

Unable to access jarfile ChatServer-1.0-SNAPSHOT 

整个项目真正运行良好,当我运行它在IntelliJ中。我究竟做错了什么?

编辑:
我搬到我的班pl.dsdev.server包,当我运行

java -jar ChatServer-1.0-SNAPSHOT.jar 

这是输出:

no main manifest attribute, in ChatServer-1.0-SNAPSHOT.jar 

我的聚甲醛。 xml:

<?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>pl.dsdev.projects</groupId> 
<artifactId>ChatServer</artifactId> 
<version>1.0-SNAPSHOT</version> 

<packaging>jar</packaging> 

<properties> 
    <maven.compiler.source>1.8</maven.compiler.source> 
    <maven.compiler.target>1.8</maven.compiler.target> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>pl.dsdev.server.Main</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 

</build> 

+2

它不应该是Java的罐子的ChatServer-1.0-SNAPSHOT.jar –

+0

请提供你的pom.xml –

+0

我想你需要Java的罐子的ChatServer-1.0-SNAPSHOT.jar主要 –

回答

0

Okey,它现在工作。我不知道是什么原因,但我确实

mvn clean package 

,并试图再次运行后,它终于奏效。