我真的很新,所以我希望不要犯任何可怕的错误.如果我有,我会事先道歉.
在我的项目中,我使用tomcat并部署WAR文件.但现在有些老板想要部署EAR文件.我们去了.
我首先下载了Glassfish(不知道它是否适用于像我这样的新手的应用程序服务器),并且所有(我甚至在autodeploy中部署了hello.war> _ <).然后准备了一个EAR文件.
据我所知,我只需要在Eclipse中创建一个企业应用程序项目,并将我的war文件添加到模块中.这会自动更改application.xml文件(感谢eclipse项目!).所以我将它导出到EAR文件并将其上传到glassfish服务器.
神奇的奇迹,它不起作用.
我也尝试在这个新的闪亮glassfish中部署旧的WAR文件,但是它发现了http-404 not found错误.glassfish似乎说我的项目不在〜/ domains/domain1/docroot中.顺便说一句,我正在使用Windows,我知道glassfish和windows之间的一些问题,因为一些更新打开文件等.
所以我有疑问:首先,我是否正确地进行了EAR包装?其次,我是否需要对glassfish服务器进行一些特殊配置来部署EAR和WAR文件?
谢谢!
我有一个错误,我无法在我的webservice方法中理解.
首先,这是方法:
package com.ubb.damate.webservice;
import java.util.Date;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.jws.WebParam;
import javax.jws.WebService;
import com.ubb.damate.model.UserEvent;
import com.ubb.damate.model.UserEventPK;
import com.ubb.damate.service.UserEventServiceLocal;
import com.ubb.damate.util.DateUtils;
/** Session Bean implementation class UserEventWebService */
@Stateless
@WebService
public class UserEventWebService {
@EJB(beanName = "UserEventService")
private UserEventServiceLocal userEventService;
public String createOrUpdate(@WebParam(name = "Eventvalue") String eventvalue, @WebParam(name = "Username") String username, @WebParam(name = "Eventname") String eventname) {
Date date = DateUtils.createDate(-1, 1, 1);
UserEventPK userPk = new UserEventPK();
userPk.setEventname(eventname);
userPk.setUsername(username);
userPk.setEventdate(date);
UserEvent userEvent = new UserEvent();
userEvent.setId(userPk);
String …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现EJB命令来传递两个jsf项目.
我创建了一个EAR,其中有两个jsf项目+ ejb.
不幸的是,我似乎无法启动该项目.
WARNING: StatefulContainerbuilder instantiated store: org.glassfish.ha.store.adapter.file.FileBackingStore@ece71a0; ha-enabled: false ==> BackingStoreConfiguration{clusterName='null', instanceName='null', storeName='Login-88570309275090944-BackingStore', shortUniqueName='88570309275090944', storeType='file', maxIdleTimeInSeconds=-1, relaxVersionCheck='null', maxLoadWaitTimeInSeconds=0, baseDirectoryName='C:\Users\Joff\AppData\Roaming\NetBeans\7.2\config\GF3\domain1\session-store\Login-88570309275090944', keyClazz=interface java.io.Serializable, valueClazz=class org.glassfish.ha.store.util.SimpleMetadata, synchronousSave=false, typicalPayloadSizeInKiloBytes=0, vendorSpecificSettings={start.gms=false, async.replication=true, key.transformer=com.sun.ejb.base.sfsb.util.SimpleKeyGenerator@9bdd877, local.caching=true, value.class.is.thread.safe=true, broadcast.remove.expired=false}}
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
java.lang.RuntimeException: EJB Container initialization error
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:242)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:305)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:108)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179) …Run Code Online (Sandbox Code Playgroud) 堆栈跟踪:
[#|2013-02-19T16:05:25.596-0500|WARNING|glassfish3.1.2|org.eclipse.persistence.session.file:/opt/glassfish3/glassfish/domains/domain1/applications/PulseEngine/PulseEngine-ejb_jar/_PulsePU| _ThreadID=103;_Th
readName=Thread-2;|java.lang.NullPointerException
at java.lang.String.checkBounds(String.java:374)
at java.lang.String.<init>(String.java:415)
at com.mysql.jdbc.SingleByteCharsetConverter.<init>(SingleByteCharsetConverter.java:153)
at com.mysql.jdbc.SingleByteCharsetConverter.initCharset(SingleByteCharsetConverter.java:108)
at com.mysql.jdbc.SingleByteCharsetConverter.getInstance(SingleByteCharsetConverter.java:86)
at com.mysql.jdbc.Connection.getCharsetConverter(Connection.java:3505)
at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5667)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5544)
at com.mysql.jdbc.ResultSet.getFloat(ResultSet.java:2523)
at com.sun.gjc.spi.base.ResultSetWrapper.getFloat(ResultSetWrapper.java:239)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.getObjectThroughOptimizedDataConversion(DatabaseAccessor.java:1267)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.getObject(DatabaseAccessor.java:1170)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.fetchRow(DatabaseAccessor.java:999)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processResultSet(DatabaseAccessor.java:723)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:646)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2611)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2570)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:420)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:392)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:485)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:773)
at enkia.pulse.indexing.SentimentAnalysisIndexer.insertSentiment(SentimentAnalysisIndexer.java:376)
at enkia.pulse.indexing.SentimentAnalysisIndexer.insertSentiments(SentimentAnalysisIndexer.java:355) …Run Code Online (Sandbox Code Playgroud) 我正在尝试将WAR文件部署到GlassFish服务器.我收到以下错误:
[#| 2013-04-06T17:50:56.982-0430 |警告| glassfish3.1.2 | javax.enterprise.system.container.web.org.glassfish.web.loader | _ThreadID = 17; _ThreadName =线程2; | WEB9052:无法加载类com.tugay.User,原因:java.lang.UnsupportedClassVersionError:WEB9032:类com.tugay.User具有不受支持的主要或次要版本号,这些版本号大于Java Runtime Environment 1.6版中的版本号. 0_37 |#]
为什么抱怨我的Java版本?我@Named在课上有一个注释.Java 1.6.0_37不支持此注释吗?
package com.tugay.user;
import javax.faces.bean.SessionScoped;
import javax.inject.Named;
import java.io.Serializable;
@Named("userBean")
@SessionScoped
public class UserBean implements Serializable {
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用GlassFish 3.1.2.2(由于操作系统限制,我无法升级到4).
我有兴趣将JPA 2.0升级到JPA 2.1 GlassFish 3.1.2.2.我怎样才能做到这一点?
我想使用JAX-RS构建RESTful Web服务(Jersey + Jackson,Jackson用于生成JSON).
我使用Glassfish 4.0作为服务器,netbeans作为IDE.
Web服务工作正常,但目前我没有任何身份验证.
所以现在我正在考虑散列密码的摘要验证,这样你就不需要以纯文本形式传输密码了.另外我想使用https,以便加密数据.
我理解了理论.但我不知道我怎么能用Glassfish在Netbeans中做到这一点.
我看到一些教程在glassfish的管理控制台中做了一些事情.但是,有没有办法在netbeans中做到这一点?我不能在部署应用程序时创建的netbeans中定义一个领域吗?
创建领域和东西之后.我想我需要在我的所有资源(WebServices)中注入某种经过身份验证的"用户"-Object.但我以前从未这样做过.我正在寻找一个很好的教程,它描述了我如何设置摘要认证,注入网络netbeans可以用netbeans做到这一点,这样我就能很好地理解它.
我试图采用我在网上找到并部署到GlassFish 4.0的简单REST示例.我正在使用Eclipse(OEPE发行版)和GlassFish 4.0.当我尝试"运行为 - >在服务器上运行"时,REST示例似乎已部署,但我立即获得HTTP状态404 - 当Eclipse尝试联系我的上下文根时,在Eclipse中找不到错误(http://localhost:8080/RESTFullWS/).
根据我一直在阅读的内容,所有内容似乎都已到位,但我仍然无法从浏览器中访问上下文根或服务端点.我想我在这里遗漏了一些明显的东西,但不确定发生了什么.
服务:
package com.example.rest;
@Path("UserInfoService")
public class UserInfo
{
@GET
@Path("/name/{i}")
@Produces(MediaType.TEXT_XML)
public String userName(@PathParam("i") String i)
{
String name = i;
return "<User>" + "<Name>" + name + "</Name>" + "</User>";
}
@GET
@Path("/age/{j}")
@Produces(MediaType.TEXT_XML)
public String userAge(@PathParam("j") int j)
{
int age = j;
return "<User>" + "<Age>" + age + "</Age>" + "</User>";
}
}
Run Code Online (Sandbox Code Playgroud)
在glassfish-web.xml中定义的Web上下文:
<glassfish-web-app>
<context-root>/RESTFullWS</context-root>
</glassfish-web-app>
http://localhost:8080/RESTFullWS/UserInfoService/name/bob -- gets me the 404.
Run Code Online (Sandbox Code Playgroud)
我的服务是否正确部署?我该怎么测试?
在工作中,我继承了Jenkins的两个实例.一个在Java 1.5上运行遗留作业.另一个在Java 1.6上运行更新的项目.
我被要求将两个实例升级到Java 1.8.
这将涉及升级:
题:
我开始升级时应该注意什么?(例如从JDK6升级到JDK8的风险)
这些版本之间是否存在已知的兼容性错误?
为什么每次在控制台中启动GlassFish 4.1时都会看到此消息。我的IDE是Eclipse Oxygen。我的JDK是Java 8?
2018-05-01T23:39:53.272+0000|Grave: Exception while visiting META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class of size 7264
java.lang.IllegalArgumentException
at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
at org.glassfish.hk2.external.org.objectweb.asm.ClassReader.<init>(ClassReader.java:424)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:358)
at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:165)
at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:127)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:344)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:67)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:303)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)