我试图学习swt,我使用maven进行所有构建,并使用eclipse进行IDE.当从maven存储库中获取swt jar时,我得到:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3034 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:100)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:112)
at wenzlick.test.swt.main.Main.main(Main.java:30)
Run Code Online (Sandbox Code Playgroud)
有没有人成功获得使用maven构建和运行的swt应用程序?
编辑:我做了一点研究,发现了问题.看看我下面的帖子
我在一个模块中有一个测试类,它在一个依赖模块中扩展了另一个测试类.如何将依赖项的测试代码导入到依赖模块的测试范围中?
为了文盲,我有两个模块,"模块一"是"模块二"的依赖.SubTestCase是.的子类TestCase.
module-one
\src\test\java\com\example\TestCase.java
module-two
\src\test\java\com\example\SubTestCase.java
但是构建失败了,因为"module-one"的测试代码没有被导入"module-two",只是主代码.
我正在尝试创建一个新的插件来打包我的最新项目.我试图让这个插件依赖于maven-dependency-plugin来复制我所有的项目依赖项.
我已将此依赖项添加到我的插件的pom中,但我无法执行它.
我在我的插件主Mojo中有这个注释:
@execute goal="org.apache.maven.plugins:maven-dependency-plugin:copy"
Run Code Online (Sandbox Code Playgroud)
我已经为目标尝试了一些其他名称,例如依赖:复制和只是复制,但它们都以一条消息说明在我的插件中找不到所需的目标.我究竟做错了什么?
其次是我在哪里提供依赖插件的配置信息?
我正在将一个中型Java应用程序的构建从Ant迁移到Maven.我可以轻松地迁移基本构建内容,但我还想从Maven构建中创建安装程序包.最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该首先考虑一下Maven的支持.
我需要为不同的平台创建几个不同的安装程序:
对于Linux现在我认为我们只有一个tar.gz和一些Bash脚本来启动守护进程 - Debian/RPM包会更好,可能还有依赖包定义.对于Windows安装程序,我们使用NullSoft安装程序.我不知道MacOS捆绑包现在是如何组装的.
是否有任何工具可以从Maven那里(或至少部分)做到这一点?
我试图找到一个邪恶的插件,其中包括某个jar文件的stoneage版本.我怎么做 ?
为简化起见,这是一种NamedPipe SERVER正在等待NamedPipe CLIENT写入管道的情况(使用WriteFile())
阻止的Windows API是ReadFile()
服务器已创建同步管道(没有重叠的I/O)并启用了阻塞
客户端已连接,现在服务器正在等待一些数据.
在正常的事物流中,客户端发送一些数据,服务器处理它,然后返回ReadFile()以等待下一个数据块.
同时发生一个事件(例如用户输入),并且NamedPipe SERVER现在必须执行一些其他代码,当ReadFile()阻塞时,它不能执行.
此时我需要提一下,NamedPipe客户端不是我的应用程序,所以我无法控制它.我不能让它发送几个字节来解锁服务器.它只是坐在那里,不发送数据.由于我无法控制客户端实现,因此我无法更改任何内容.
一种解决方案是创建一个单独的线程,其中执行所有ReadFile()操作.这样,当事件发生时,我可以只处理代码.问题在于,事件还需要一个单独的线程,所以现在我为这个服务器的每个实例都有两个额外的线程.由于这需要可扩展,因此这是不合需要的.
从我试过调用的另一个线程
DisconnectNamedPipe()
Run Code Online (Sandbox Code Playgroud)
和
CloseHandle()
Run Code Online (Sandbox Code Playgroud)
它们都不会返回(直到客户端写入管道.)
我无法连接到同一个管道并写入几个字节,因为:
"命名管道的所有实例共享相同的管道名称,但每个实例都有自己的缓冲区和句柄,并为客户端/服务器通信提供单独的管道."
http://msdn.microsoft.com/en-us/library/aa365590.aspx
我需要一种方法来伪造它,所以$ 64k美元的问题是:
如何打破ReadFile()的阻塞?
nexus书:http://www.sonatype.com/books/nexus-book/reference/.似乎没有花时间考虑如何备份nexus存储库.如果我正在安装我的快照并将其发布到本地存储库中,那么我可能需要备份它.但是,我真的不想备份任何可以从远程存储库轻松下载的内容.
一些谷歌搜索似乎也没有透露规范的答案,所以也许后人可以在这里记录.
谢谢,内森
在我们的项目中,我们使用maven运行junits和cobertura.我面临的问题是,
谢谢!
场景:
<activation><property><name>foo</name></property><activation>foo属性 - 配置文件处于非活动状态,因此不会为父级构建执行<properties><foo>true</foo></properties>孩子中定义,希望在执行子构建时激活属性并激活配置文件.没有这样的运气.配置文件永远不会被激活,这告诉我永远不会设置属性.mvn package -Dfoo=true激活父母和孩子的个人资料我试图做不可能或只是做错了吗?
PS嗯 - 即使我在父级中定义属性,也不会触发配置文件.是什么赋予了?
我正在为文件解析器类编写测试.parse方法接收文件名作为参数,并且必须打开它才能解析它(duh).
我写了一个测试文件,我将其放入项目目录中的test/resources目录中,并希望传递此文件来测试我的解析.由于这个项目是在CVS中,并且会被其他人操纵,我无法对文件路径进行硬编码,因此我考虑使用maven $ {basedir}属性在我的测试中构建文件名.就像是:
public void parseTest() {
...
sut.parse( ${basedir} + "src/test/resources/testFile" );
...
}
Run Code Online (Sandbox Code Playgroud)
有人知道我怎么能做到这一点?