有人知道如何将特定的JRE与已编译的Java应用程序一起打包吗?我目前有一个可执行jar文件,并希望将JRE 6 Update 31放入其中.因此,无论客户端安装了哪个JRE版本,应用程序都会使用随附的JRE.解决方案应该独立于平台.
有任何想法吗?提前谢谢了!
我试图检查某个java.io.File是否由外部程序打开.在Windows上我使用这个简单的技巧:
try {
FileOutputStream fos = new FileOutputStream(file);
// -> file was closed
} catch(IOException e) {
// -> file still open
}
Run Code Online (Sandbox Code Playgroud)
我知道基于unix的系统允许在多个进程中打开文件...是否有类似的技巧可以为基于unix的系统实现相同的结果?
任何帮助/黑客高度赞赏:-)
我正在尝试将Facebook登录集成到我的iOS应用程序中(使用XCode 6+和部署目标是iOS 7.0).我在故事板中将一个普通的UIButton放到我的ViewController中,然后用FBSDKLoginButton更改为自定义类,因为我需要的按钮尺寸比原来大一些.
登录过程运行良好,登录按钮图像显示完美,但登录后按钮变为"注销",背景看起来透明,后面有一些奇怪的白色矩形.
以下是该问题的说明:

有人知道我做错了什么吗?
我使用的是Netbeans 7.1.1和Glassfish 3.1.2服务器.作为JPA提供商,我决定使用随Netbeans一起提供的eclipse-link 2.3.0.因为我想使用延迟提取,而我的项目由大约45个JPA实体类组成,它们之间有很多关系,所以我决定使用静态编织.此外,@ Entity类位于单独的Class Lib项目中,而persistence.xml位于EJB项目中.
我已按照此处的说明操作:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving
我将ant-task放入build-impl.xml文件中(如下).使用Netbeans时这是正确的吗?这是build-impl.xml的片段:
<target name="-post-jar" description="New task definition for EclipseLink static weaving">
<taskdef name="weave" classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask"/>
</target>
<target name="weaving" description="perform weaving" depends="-post-jar">
<weave source="${dist.jar}\MyProject.jar"
target="${dist.jar}\MyProject_Weaved.jar"
persistenceinfo="${dist.jar}..\..\MyProjectEE\MyProject-ejb\build\classes\META-INF\persistence.xml"
loglevel="FINER">
<classpath>
<pathelement path="${dist.jar}\lib\eclipselink-2.3.0.jar"/>
<pathelement path="${dist.jar}\lib\javaee-api-6.0.jar"/>
<pathelement path="${dist.jar}\lib\jasypt-1.9.0.jar"/>
<pathelement path="${dist.jar}\lib\javax.persistence-2.0.jar"/>
<pathelement path="${dist.jar}\lib\org.eclipse.persistence.jpa.jpql_1.0.0.jar"/>
<pathelement path="${dist.jar}\lib\joda-time-2.1.jar"/>
<pathelement path="${dist.jar}\lib\jms.jar"/>
</classpath>
</weave>
</target>
Run Code Online (Sandbox Code Playgroud)
pathelement路径中的所有jar文件也作为库包含在Netbeans IDE中.点击"清理和构建"时,我现在收到以下错误:
D:\workspace\MyProject\nbproject\build-impl.xml:703: taskdef class org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask cannot be found
using the classloader AntClassLoader[]
Run Code Online (Sandbox Code Playgroud)
我在这里弄错了什么?
我正在寻找一种方法来重定向Process/ProcessBuilder的输出?我知道它在Java 7中可以这样工作:
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();
Run Code Online (Sandbox Code Playgroud)
但我对Java 5/6也需要相同的...任何帮助高度赞赏.
我目前正在尝试使用Java 7 Update 21进行拖放.
我的目标操作系统是:
要求是:
从文件系统拖动文件并将其拖放到我的Java应用程序(将文件的副本复制到临时目录) - >适用于Linux和MacOSX和Windows
从Thunderbird拖动电子邮件并将它们放到我的Java应用程序中(将它们保存为文件系统上的完整*.eml文件)
以下代码适用于Windows,MacOSX 和 Ubuntu的应用程序的简单文件丢弃.进一步的要求是从Thunderbird中删除电子邮件到我的Java应用程序(邮件自动转换为*.eml文件并存储到磁盘).这也适用于Windows,但我在Ubuntu和MacOSX中得到了"Data Flavor not supported exception" ...
编辑:我在Ubuntu上尝试使用OpenJDK 7,但有了这个,即使是普通的文件丢弃也行不通.仅适用于Oracle的JDK版本.
有人知道如何修复/实现这一目标吗?
提前谢谢了!
这是一个简单的可执行示例:
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDropEvent;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.List;
public class DragDropTest extends javax.swing.JFrame {
public DragDropTest() {
initComponents();
initDragAndDrop();
}
private void initDragAndDrop() {
this.setDropTarget(new DropTarget(){
@Override
public synchronized void drop(DropTargetDropEvent dtde) { …Run Code Online (Sandbox Code Playgroud) 我昨天将我的Sprite Kit游戏升级到了X-Code 8.0和Swift 3.部署目标当前设置为iOS 9.3.
我通过以下方式播放音效:
self.run(SKAction.playSoundFileNamed("click.caf", waitForCompletion: false))
Run Code Online (Sandbox Code Playgroud)
声音效果播放不正确(只有大约一半的样本),我得到以下错误(自升级到X-Code 8.0和Swift 3):
SKAction: Error playing sound resource
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
还有一个功能,它还没有工作.我基本上是通过使用P/Invoke从C#调用一些C++函数.有问题的功能确实向显示激光设备查询一些设备相关信息,例如最小和最大扫描速率以及每秒最大点数.
有问题的功能是:
int GetDeviceInfo(DWORD deviceIndex, DeviceInfo* pDeviceInfo);
Run Code Online (Sandbox Code Playgroud)
这是我给出的C++头文件.这是非常简短的C++ SDK描述的链接.我没有重建DLL文件的源代码,我也没有*.pdb文件(制造商无法提供):
#pragma once
#ifdef STCL_DEVICES_DLL
#define STCL_DEVICES_EXPORT extern "C" _declspec(dllexport)
#else
#define STCL_DEVICES_EXPORT extern "C" _declspec(dllimport)
#endif
enum SD_ERR
{
SD_ERR_OK = 0,
SD_ERR_FAIL,
SD_ERR_DLL_NOT_OPEN,
SD_ERR_INVALID_DEVICE, //device with such index doesn't exist
SD_ERR_FRAME_NOT_SENT,
};
#pragma pack (1)
struct LaserPoint
{
WORD x;
WORD y;
byte colors[6];
};
struct DeviceInfo
{
DWORD maxScanrate;
DWORD minScanrate;
DWORD maxNumOfPoints;
char type[32];
};
//////////////////////////////////////////////////////////////////////////
///Must be called when starting to use
//////////////////////////////////////////////////////////////////////////
STCL_DEVICES_EXPORT int …Run Code Online (Sandbox Code Playgroud) 我有一个使用Glassfish 3.1.2.2,MySQL数据库和Swing客户端应用程序的3层应用程序.是否有可能处理数据库服务器崩溃?
我试图在我的应用程序运行期间停止MySQL服务.每次我尝试通过我的一个Facade会话bean访问数据库时,我都会得到javax.ejb.EJBAccessException异常.
我想通知用户数据库当前已关闭.此外,我想将我的应用程序设置为"睡眠模式",直到数据库启动并再次运行.
处理这种情况会有什么好处(也可能是简单的)方法?
感谢您的帮助!
我有两个实体类'User'和'Document'.每个用户都有一个收件箱和一个发件箱,实际上是两个列表,每个文档可能驻留在多个收件箱和发件箱的用户中.这是我的课程:
@Entity
public class User {
@Id
private Long id;
@ManyToMany(mappedBy = "userinbox", cascade=CascadeType.ALL)
private List<Document> inbox = new ArrayList<Document>();
@ManyToMany(mappedBy = "useroutbox", cascade=CascadeType.ALL)
private List<Document> outbox = new ArrayList<Document>();
}
@Entity
public class Document {
@Id
private Long id;
@ManyToMany(cascade=CascadeType.ALL)
private List<User> userinbox = new ArrayList<User>();
@ManyToMany(cascade=CascadeType.ALL)
private List<User> useroutbox = new ArrayList<User>();
}
Run Code Online (Sandbox Code Playgroud)
当我运行该程序并尝试将文档分配给用户的收件箱(反之亦然)时,我收到以下错误:
Error Code: 1364
Call: INSERT INTO DOCUMENT_USER (userinbox_ID, inbox_ID) VALUES (?, ?)
bind => [2 parameters bound]
Internal Exception: java.sql.SQLException: Field 'useroutbox_ID' doesn't have …Run Code Online (Sandbox Code Playgroud)