我目前正在尝试在Java应用程序中实现热类重新加载,但是有很多插件可供选择,我找不到这些选项之间的良好比较.此外,插件的网站并不十分清楚具体功能是什么以及如何使用它们.
还有一个选项可以让一个自定义的热门类重新加载ClassLoader,但我觉得这类似于"重新发明轮子",如果已经有这么多的插件可以完成这项工作..其他人是否同意这一点?
我找到的Java插件我认为可以完成这项工作:
那么有谁碰巧知道插件之间的差异是什么?还有哪个插件最直观易用?
作为旁注:我实际想要做的是重新加载我的java应用程序的.jar文件依赖项.我有一些java代码经常自动重新编译,然后转换为.jar文件.它是我的java应用程序的依赖项,我的应用程序需要每次都使用此.jar文件的最新版本.
我使用Backbone.js,Bootstrap,NetBeans IDE 8.0,Java EE 7,JDK 8,WildFly服务器8.1.0,JBoss RESTEasy(resteasy-jaxrs-3.0.8),JBoss 2.2.22,JBoss EJB 3制作Web应用程序.
我(相对)是Web开发的新手,因此我才开始掌握很多基本概念和技术.我正在尝试将用户和角色的权限系统构建到Web应用程序中,但我似乎无法使@RolesAllowed注释在我的RESTful Web服务中工作.我已经在这个问题上工作了几天.
我有一个名为UserResource.java的RESTful资源(Java Enterprise/Session Bean?),在这里我有一个方法create来为应用程序创建一个新用户:
import java.net.URI;
import java.security.Principal;
import java.util.List;
import javax.annotation.security.PermitAll;
import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
import org.jboss.ejb3.annotation.SecurityDomain;
@Stateless
@SecurityDomain("other")
@Path("/user")
public class UserResource {
@EJB(name = "UserServiceImp")
UserService userService;
@Context
private UriInfo uriInfo;
@RolesAllowed({"admin"})
@Path("create")
@POST
public Response create(CreateRequest request) {
try {
System.out.println("Start of create method");
User user = userService.createUser(request);
return getCreateResponse(user);
}
catch (Exception …Run Code Online (Sandbox Code Playgroud) 我是 Web 服务的新手。我从另一个开发人员那里接手了一些开发项目。一切正常,直到我创建了自己的测试项目以查看所有内容如何组合在一起。当我从我的测试项目恢复到我以前的工作项目时,该项目编译但不会在部署期间启动。我什至不知道从哪里开始寻找。
我正在使用 Eclipse Kepler 并部署到 WildFly 服务器。
日志显示以下错误消息:
10:39:06,146 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "JEM-eap.ear")]) - failure description: {
"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".weld.weldClassIntrospector is missing [jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".beanmanager]",
"jboss.deployment.unit.\"JEM-eap.ear\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"JEM-eap.ear\".beanmanager]"
],
"JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
"Services that were unable to start:" => [
"jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ejb.jar\".POST_MODULE",
"jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".INSTALL",
"jboss.deployment.unit.\"JEM-eap.ear\".INSTALL",
"jboss.persistenceunit.\"JEM-eap.ear/JEM-ejb.jar#JPA-ejb\".__FIRST_PHASE__"
],
"Services …Run Code Online (Sandbox Code Playgroud) 我正在基于MySQL数据库中的现有表创建Java持久性实体Bean(使用NetBeans IDE 8.0.1).我在这个表中遇到了一个类型为"Unsigned TINYINT(3)"的字段.我发现可以执行以下操作来将列的类型定义为unsigned int:
private long foo;
@Column(columnDefinition = "UNSIGNED INT(11)")
public long getFoo()
{
return foo;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个字段如下:
@Size(max = 3)
@Column(name = "WorkingHours", columnDefinition="UNSIGNED TINYINT(3) default '40'")
private Integer workingHours;
Run Code Online (Sandbox Code Playgroud)
将项目部署到我的服务器时收到以下错误:
{"JBAS014671: Failed services" => {"jboss.persistenceunit.\"my-project.ear/my-project-ejb.jar#old-db\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"my-project.ear/my-project-ejb.jar#old-db\": javax.persistence.PersistenceException: Unable to execute JPA schema generation create command [create table ... etc.]
Caused by: javax.persistence.PersistenceException: Unable to execute JPA schema generation create command [create table ... etc.]
Caused by: …Run Code Online (Sandbox Code Playgroud) 我的NetBeans git设置似乎出了点问题.我在Windows 8.1上使用NetBeans IDE 8.0.1,并且我在GitLab.com上托管了一个私有git存储库.但自从GitLab 更新到7.3.1版本以来,我无法从NetBeans连接到git存储库.如果我获取,拉取或推送无关紧要,我得到相同的响应:"无法通过https://gitlab.com/<group-name>/<project-name>.git连接到远程存储库"(组出于隐私原因,省略了名称和项目名称)
我发现类似(较旧)的问题,但我认为这不是同一个问题.我认为我的问题与GitLab Community Edition 7.3.1的发布有关,虽然我看不出究竟是什么原因造成的.
从这个关于NetBeans社区的错误报告,有人建议单击"被动模式"可以解决问题,但我不知道在哪里可以找到这种被动模式.在谷歌搜索被动模式我认为它与FTP有关,但我使用https选项而不是ftps选项连接到git存储库,所以我不认为这真的适用于我的情况(纠正我,如果我错了.
关于NetBeans社区的其他错误报告有一个建议,我需要将以下行添加到我的git配置文件中:
[http]
sslVerify=false
Run Code Online (Sandbox Code Playgroud)
我将它添加到我的项目文件夹中的.git/config文件和我的用户文件夹中的.gitconfig文件中,但这并没有解决问题.
另外从GitLab.com再次克隆git存储库并没有解决问题.事实上,当我尝试克隆时,我得到了相同的错误响应(如上所述).
如果我使用Git Bash for Windows,我仍然可以连接到git并执行所有git命令.所以我现在会使用它,但我也希望能够在NetBeans中使用Git Repository Browser.
编辑:
我还运行Jenkins自动构建和测试,它也连接到GitLab.com上的相同git存储库.我有一段时间没有检查它的日志,但它也无法获取.所以问题不仅限于NetBeans,因为Jenkins也受到了影响.
以下是Jenkins构建尝试的输出:
Started by user Pieterjan van Gastel
Building in workspace C:\Program Files (x86)\Jenkins\workspace\<project-name>
> C:\Program Files (x86)\Git\bin\git.exe rev-parse --is-inside-work-tree
Fetching changes from the remote Git repository
> C:\Program Files (x86)\Git\bin\git.exe config remote.origin.url https://gitlab.com/<group-name>/<project-name>
Fetching upstream changes from https://gitlab.com/<group-name>/<project-name>
> C:\Program Files (x86)\Git\bin\git.exe …Run Code Online (Sandbox Code Playgroud) 我正在编写一个简单的Python脚本来复制MySQL数据库.我试图根据以下SO问题及其答案复制数据库:" 不使用mysqldump复制/复制数据库 "," python subprocess和mysqldump "和" Python子进程,mysqldump和管道 ".但是,由于某些原因我的脚本无法正常工作,因为表格和数据没有出现在我的新数据库中.
我可以从我的输出中看到mysqldump正常工作(我在输出中看到"转储完成..."),所以我认为我的管道出了问题.
这是我的脚本:
#!/usr/bin/env python
import pymysql
from subprocess import Popen, PIPE, STDOUT
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mydb')
cur = conn.cursor()
print("Attempting to create new database...")
try:
cur.execute("CREATE DATABASE mydb2")
print("Creating new database")
except Exception:
print("Database already exists")
print()
# close connection just to be sure
cur.close()
conn.close()
print("Trying to copy old database to new database...")
args1 = ["mysqldump", "-h", "localhost", "-P", "3306", "-u", "root", "-p", "mydb"] …Run Code Online (Sandbox Code Playgroud)