小编PJv*_*JvG的帖子

用于热类重新加载的各种Java插件之间有什么区别?哪一个最直观?

我目前正在尝试在Java应用程序中实现热类重新加载,但是有很多插件可供选择,我找不到这些选项之间的良好比较.此外,插件的网站并不十分清楚具体功能是什么以及如何使用它们.

还有一个选项可以让一个自定义的热门类重新加载ClassLoader,但我觉得这类似于"重新发明轮子",如果已经有这么多的插件可以完成这项工作..其他人是否同意这一点?

我找到的Java插件我认为可以完成这项工作:

那么有谁碰巧知道插件之间的差异是什么?还有哪个插件最直观易用?

作为旁注:我实际想要做的是重新加载我的java应用程序的.jar文件依赖项.我有一些java代码经常自动重新编译,然后转换为.jar文件.它是我的java应用程序的依赖项,我的应用程序需要每次都使用此.jar文件的最新版本.

java plugins dynamic classloader hotswap

24
推荐指数
1
解决办法
4448
查看次数

如何让@RolesAllowed注释适用于我的Web应用程序?

我使用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)

java security ejb jax-rs resteasy

16
推荐指数
1
解决办法
3万
查看次数

WildFly 部署失败 - “JBAS014771:缺少/不可用依赖项的服务”

我是 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)

jboss dependencies web-deployment wildfly jakarta-ee

5
推荐指数
1
解决办法
2万
查看次数

如何将javax.persistence.Column定义为Unsigned TINYINT?

我正在基于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)

java mysql unsigned jpa tinyint

3
推荐指数
1
解决办法
1710
查看次数

如何从NetBeans IDE 8和Jenkins重新连接到GitLab上的git存储库?

我的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)

git netbeans repository jenkins gitlab

2
推荐指数
1
解决办法
7462
查看次数

如何在Python中使用mysqldump和mysql复制数据库?

我正在编写一个简单的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)

python mysql subprocess mysqldump pymysql

2
推荐指数
3
解决办法
2万
查看次数