如何使用Maven在EAR中添加WAR

我有一个应用程序的EAR,我需要使用我自己的代码扩展这个应用程序,该代码打包为WAR。 是否有maven插件可以帮助我将WAR放入EAR? 手动过程是将WAR放入EAR并将模块添加到application.xml。 我想自动化。 编辑:小澄清 – WAR项目使用maven但是对于EAR我只有二进制文件了。

检测使用Java Web应用程序登录计算机的用户

我想开发一个可以检测登录Window Domain的用户的Java应用程序。 这些凭据将用于登录在Tomcat上运行的Java应用程序。 我怎样才能做到这一点? 我想知道远程用户访问我的网络应用程序。 此用户登录到活动目录 谢谢!

Java swing toggle按钮用于过滤jtable行

我有一个JTable ,它包含一个自定义的AbstractTableModel ,它在调用getValueAt时返回一个对象。 当然,我有一个自定义的TableCellRenderer ,它能够从对象获取/构造文本,以便显示它。 但是现在我想写一个filter。 filter将是一个简单的切换按钮。 当它打开时,我希望应用filter,当它关闭时,我想filter被删除。 由于这个原因,我有两个问题。 首先,当你必须按对象而不是基元进行过滤时,我完全不知道如何编写filter。 其次,我不知道如何将所述filter连接到切换按钮,以便能够打开和关闭它。 我很抱歉,如果这是一个迟钝的问题,但http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting是我看到的最无用的文档,因为解释不深入。 感谢任何人的帮助。 编辑:该对象包含多个字段,但我特别感兴趣的是两个filter切换。 当我说isSuper ,一个返回一个boolean值,当我调用getName时,第二个返回一个string 。 如果打开第一个切换,它应该显示在isSuper上返回true的所有条目,第二个切换应该显示当我调用getName时名称被泄露为两个单词(存在空格)的所有条目。

在JNI中,如何根据IBM的性能建议缓存类,methodID和fieldID?

我在IBM上读到了这一点 要访问Java对象的字段并调用它们的方法,本机代码必须调用FindClass(),GetFieldID(),GetMethodId()和GetStaticMethodID()。 对于GetFieldID(),GetMethodID()和GetStaticMethodID(),为给定类返回的ID在JVM进程的生命周期内不会更改。 但是获取字段或方法的调用可能需要在JVM中进行大量工作,因为字段和方法可能是从超类inheritance的,这使得JVM在类层次结构中向上移动以找到它们。 因为给定类的ID是相同的,所以您应该查找它们一次然后重复使用它们。 同样,查找类对象可能很昂贵,因此它们也应该被缓存。 如何在JNI中缓存 methodID , fieldID和class对象? 是否有必须遵循的内置方法或特定程序?

切换java中的类型

在开始之前,我知道这个问题有很多答案可以提出替代方法。 我正在寻求对这种特殊方法的帮助,以确定是否可行,如果不可能,可能有效的类似方法。 我有一个方法,它接受一个超类,并根据传递的对象的类型调用一个方法。 例如: public void handle(Object o){ if (o instanceof A) handleA((A)o); else if (o instanceof B) handleB((B)o); else if (o instanceof C) handleC((C)o); else handleUnknown(o); 我不能修改子类型来覆盖handle()方法,正如这个答案所暗示的那样,因为我不拥有这些类。 所以我的方法就是instanceof 。 我想使用switch语句而不是if/else ,因为它更整洁。 我知道你只能打开基元和字符串,所以我要切换类名: switch(o.getClass().getCanonicalName()){ case “my.package.A”: handleA((A)o); break; case “my.package.B”: handleB((B)o); break; case “my.package.C”: handleC((C)o); break; default: handleUnknown(o); break; } 这里的问题是规范名称非常长(如12个子包),我不能在case语句中调用ClassName.class.getCanonicalName() ,因为Java不允许这样做。 所以我的下一个解决方案是Enum。 这是我遇到问题的地方。 我希望我的代码看起来像这样: […]

我想让球逐渐移动

当你按下其中一个方向键时,我试图让球逐渐移动,现在它只是传送。 我想要它,以便你可以看到它移动。 基于这个例子 ,我使用的是键绑定,并且有一个名为delta的变量会导致球移动50个像素,但就像我说的那样,当你按下箭头键时,球只出现50个像素,我想要它就像你要踢球一样,你可以看到它从a点到b点。 转到我觉得问题所在的第89行。 package game; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.AbstractAction; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.KeyStroke; /** * @see https://stackoverflow.com/questions/6991648 * @see https://stackoverflow.com/questions/6887296 * @see https://stackoverflow.com/questions/5797965 */ public […]

第2部分 – 如何在缩放JTextPane时获得一致的渲染?

我之前提交了此问题的另一个版本和示例程序: 在缩放JTextPane时如何获得一致的渲染? 重述问题:我想允许用户放大或缩小不可编辑的JTextPane。 运行在前一个问题中提交的示例程序(简单地缩放了Graphics对象),导致粗体文本和非粗体文本之间的间距不一致。 下面的示例程序尝试通过将文本窗格绘制为100%的BufferedImage然后缩放图像来解决问题。 这解决了间距不一致的问题,但结果文本缺乏清晰度。 是否有一些渲染提示(或其他一些变化)的组合将产生漂亮的清晰文本? 提前感谢对此方法可行性的任何建议或意见。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import javax.swing.Box; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; import javax.swing.text.StyledDocument; public class ScaledJTextPane […]

generics错误:不适用于参数

有人可以向我解释为什么以下代码不起作用? public class Test { interface Strategy { void execute(T t); } public static class DefaultStrategy implements Strategy { @Override public void execute(T t) {} } public static class Client { private Strategy a; public void setStrategy(Strategy a) { this.a = a; } private void run() { a.execute(“hello world”); } } public static void main(String[] […]

在JTable单元格中渲染BufferedImage

我需要在一个JTable列中显示BufferedImage。 我覆盖了JTable方法 @Override public Class getColumnClass(int column) { if (column == 1){ return BufferedImage.class; } return super.getColumnClass(column); } 但我仍然获得对象的字符串表示而不是图像本身。有人知道我缺少什么吗?

用Java旋转缓冲的图像

我试图在java中旋转缓冲的图像。 这是我正在使用的代码: public static BufferedImage rotate(BufferedImage bimg, double angle){ int w = bimg.getWidth(); int h = bimg.getHeight(); Graphics2D graphic = bimg.createGraphics(); graphic.rotate(Math.toRadians(angle), w/2, h/2); graphic.drawImage(bimg, null, 0, 0); graphic.dispose(); return bimg; } 我已经看了很多关于这个主题的堆栈溢出问题和答案,并且无法弄清楚为什么图像在我尝试旋转时被切碎。 这是一个显示加载图像的示例: 加载图像 单击旋转按钮后,使用缓冲图像调用上述function,角度为90.0: 切断图像 有人可以帮助我了解正在发生的事情以及如何解决这个问题吗? 谢谢!