Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle和Maven编译了我的项目,但我没有发现任何错误_Java_Maven_Intellij Idea_Gradle - Fatal编程技术网

Java Gradle和Maven编译了我的项目,但我没有发现任何错误

Java Gradle和Maven编译了我的项目,但我没有发现任何错误,java,maven,intellij-idea,gradle,Java,Maven,Intellij Idea,Gradle,我正在尝试编译我的项目,它使用Gradle和Maven。该项目使用本地maven存储库上的另一个库。Gradle和Maven中引用了该库: 格拉德尔: dependencies{ compile 'cf.charly1811.java.utils:MimeType:1.0' } 马文: cf.charly1811.java.utils 模版 1 当我尝试使用mvncleanpackage或gradlecleanjar编译项目时,它成功了。调用MimeType类时会出现错误:

我正在尝试编译我的项目,它使用Gradle和Maven。该项目使用本地maven存储库上的另一个库。Gradle和Maven中引用了该库:

格拉德尔:

dependencies{
    compile 'cf.charly1811.java.utils:MimeType:1.0'
}
马文:


cf.charly1811.java.utils
模版
1
当我尝试使用
mvncleanpackage
gradlecleanjar
编译项目时,它成功了。调用MimeType类时会出现错误:

        Exception in thread "Thread-4" java.lang.NoClassDefFoundError: cf/charly1811/java/utils/MimeType at cf.charly1811.java.web.RequestHandlerThread.process(RequestHandlerThread.java:120)
            at cf.charly1811.java.web.RequestHandlerThread.handleRequest(RequestHandlerThread.java:85)
            at cf.charly1811.java.web.RequestHandlerThread.run(RequestHandlerThread.java:64)
    Caused by: java.lang.ClassNotFoundException: cf.charly1811.java.utils.MimeType
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 3 more
我不知道是什么导致了这个错误。。。 请帮忙

编辑: MimeType pom.xml:


4.0.0
模版
库以轻松获取文件类型
cf.charly1811.java.utils
模版
1
Apache许可证,版本2.0
http://www.apache.org/licenses/LICENSE-2.0.txt
回购
业务友好的OSS许可证
HttpServer(主项目)pom.xml


4.0.0
HttpServer
用JAVA编写的简单HTTP服务器
cf.charly1811.java.web
HttpServer
1
cf.charly1811.java.utils
模版
1
私用
http://choosealicense.com/licenses/no-license/
此软件仅供私人使用
org.apache.maven.plugins
maven jar插件
真的
cf.charly1811.java.Main
编辑 我忘了澄清一件事:
我使用IntelliJ的想法。当我尝试使用“Run”编译项目时,它会编译所有内容,但我没有得到这个错误。只有在我使用Gradle或Maven编译项目时才会发生这种情况,否则会出现问题,请删除清单文件并进行maven清洁安装。非常确定该包没有导入到您的清单中。如果此问题仍然存在,请手动导入该包,并调查它为什么不能自行拉入。

阅读本文后,我注意到以下几点:

默认情况下,Maven不会在JAR文件中绑定依赖项 构建时,您没有在类路径上提供它们 试图在命令行执行JAR文件 Java VM在尝试执行您的命令时找不到库类文件 代码。”

我想格拉德也是这样

现在我应该找到一种捆绑依赖项的方法

编辑 我终于找到了解决办法(格雷德尔)

  • 列表项
  • 创建build.gradle
    应用以下插件:

    apply plugin:'java'
    apply plugin: 'application'
    
  • 添加依赖项()
  • 使用此命令编译项目

    格雷德尔清洁拉链

  • 如果您只想运行您的程序:

    gradle clean run
    
    编辑


    如果你使用Maven。您可以使用绑定Jar文件中的依赖项

    请删除清单文件并执行maven clean安装。非常确定该包没有导入到您的清单中。如果此问题仍然存在,请手动导入该包,并调查它为什么不能自行拉入。我删除了清单文件,重新编译了MimeType库,并重新编译了主项目。仍然得到相同的错误。我已经手动导入了MimeTYpe库并重试,现在它可以工作了。也许问题来自MimeType pom文件?我用图书馆的pom文件和projectNo更新了这个问题。我认为这可能是一个问题,建立删除您的本地回购。从工作空间中删除项目。。。再次检查并构建它。如果问题仍然存在,那么您需要进一步调查。您是否在groovy中使用此导入,它在清单的导入中表现得很奇怪。我删除了所有Maven和Gradle文件,为MimeType重新创建pom.xml,重新编译,为HttpServer重新创建pom,添加了MimeType作为依赖项。同样的结果…尝试添加调试器加载程序卸载程序日志,并找出哪个jar是一个问题。