如何解决在 maven 中使用 java-gnome 的困难
我在 Ubuntu 18.04 LTS 上使用 Netbeans 12 IDE 并使用命令安装了 java-gnome:
sudo apt-get install libjava-gnome-java
我创建了一个小项目来测试通知,主类代码如下:
package com.mycompany.notifytest;
import org.gnome.gtk.Gtk;
import org.gnome.notify.Notify;
import org.gnome.notify.Notification;
/**
*
* @author nbs
*/
public class Main {
public static void main(String[] args){
Gtk.init(args);
Notify.init("NotifyTest");
Notification n = new Notification("Notify Test","Test Passed !","");
n.show();
}
}
现在每当我使用 F6 运行项目时,都会显示通知并且输出是:
cd /home/nbs/NetBeansProjects/NotifyTest; JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 /snap/netbeans/41/netbeans/java/maven/bin/mvn "-Dexec.args=-classpath %classpath com.mycompany.notifytest.Main" -Dexec.executable=/usr/lib/jvm/java-11-openjdk-amd64/bin/java org.codehaus.mojo:exec-maven-plugin:3.0.0:exec
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
Scanning for projects...
----------------------< com.mycompany:NotifyTest >----------------------
Building NotifyTest 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/org/com/java.gnome/1.0/java.gnome-1.0.pom
The POM for org.com:java.gnome:jar:1.0 is missing,no dependency information available
--- exec-maven-plugin:3.0.0:exec (default-cli) @ NotifyTest ---
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 10.252 s
Finished at: 2021-03-04T13:37:04+05:30
------------------------------------------------------------------------
但是当我尝试从终端运行 .jar 文件时构建项目后,问题是:
Exception in thread "main" java.lang.NoClassDefFoundError: org/gnome/gtk/Gtk
at com.mycompany.notifytest.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: org.gnome.gtk.Gtk
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。