盐地网站建设公司,阿里巴巴网站怎么做全屏大图,英雄联盟视频网站源码,网站里的聊天怎么做最近#xff0c;大概在去年年底#xff0c; GlassFish开源团队发布了GlassFish 4.0 beta 72作为升级版 。 阿伦古普塔#xff08;Arun Gupta#xff09;在他的博客上发布了有关GlassFish 4 .0 beta 72的Maven坐标的文章。 该版本意义重大#xff0c;因为该团队将工件发布到… 最近大概在去年年底 GlassFish开源团队发布了GlassFish 4.0 beta 72作为升级版 。 阿伦·古普塔Arun Gupta在他的博客上发布了有关GlassFish 4 .0 beta 72的Maven坐标的文章。 该版本意义重大因为该团队将工件发布到了Maven存储库中。 2013年我是新版Java EE 7用户指南的作者 因此研究最新的GlassFish非常重要尤其是因为它是该规范的参考实现。 我想实际研究和调查最新的Java Servlets 3.1Web套接字和JAX-RS规范在服务器中的表现。 这是我昨晚编写的用于执行GlassFish Embedded应用程序的Gradle构建脚本 apply plugin: java
apply plugin: maven
apply plugin: eclipse
apply plugin: ideagroup com.javaeehandbook.book1
archivesBaseName ch06-servlets-basic
version 1.0repositories {mavenCentral()maven {url https://maven.java.net/content/groups/promoted}maven {url http://repository.jboss.org/nexus/content/groups/public}
}dependencies {compile org.glassfish.main.extras:glassfish-embedded-all:4.0-b72compile javax:javaee-api:7.0-b72testCompile junit:junit:4.10
}// Override Gradle defaults - a force an exploded JAR view
sourceSets {main {output.resourcesDir build/classes/mainoutput.classesDir build/classes/main}test {output.resourcesDir build/classes/testoutput.classesDir build/classes/test}
}task(run, dependsOn: classes, type: JavaExec) {description Runs the main applicationmain je7hb.common.webcontainer.embedded.glassfish.EmbeddedRunnerclasspath sourceSets.main.runtimeClasspath
} 构建脚本的关键是依赖关系的顺序。 我发现glassfish-embedded-all必须首先依赖列表否则将找不到Hibernate Validatorbean验证器jar中的ValidationException。 异常消息为javax.validation.ValidationException: Unable to load Bean Validation provider 。 Gradle构建还引用了GlassFish Java存储库这是第二个关键点。 这是Java应用程序代码EmbeddedRunner package je7hb.common.webcontainer.embedded.glassfish;import org.glassfish.embeddable.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;public class EmbeddedRunner {private int port;private AtomicBoolean initialized new AtomicBoolean();private GlassFish glassfish;public EmbeddedRunner(int port) {this.port port;}public EmbeddedRunner init() throws Exception{if ( initialized.get() ) {throw new RuntimeException(runner was already initialized);}BootstrapProperties bootstrapProperties new BootstrapProperties();GlassFishRuntime glassfishRuntime GlassFishRuntime.bootstrap(bootstrapProperties);GlassFishProperties glassfishProperties new GlassFishProperties();glassfishProperties.setPort(http-listener, port);String [] paths System.getProperty(java.class.path).split(File.pathSeparator);for (int j0; jpaths.length; j) {System.out.printf(classpath[%d] %s\n, j, paths[j]);}glassfish glassfishRuntime.newGlassFish(glassfishProperties);initialized.set(true);return this;}private void check() {if ( !initialized.get() ) {throw new RuntimeException(runner was not initialised);}}public EmbeddedRunner start() throws Exception{check();glassfish.start();return this;}public EmbeddedRunner stop() throws Exception{check();glassfish.stop();return this;}public static void main(String args[]) throws Exception {EmbeddedRunner runner new EmbeddedRunner(8080).init().start();Thread.sleep(1000);runner.stop();}
} 该类将嵌入式GlassFish作为无容器构建的开始执行这是James Ward和其他人创造的一个术语。 此类启动GlassFish等待一秒钟然后再次将其关闭。 通过在命令行gradle运行或通过IDE调用该代码可与Gradle一起使用。 我使用命令gradle想法来生成IDEA项目文件。 这是IntelliJ IDEA 12的示例输出 /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/bin/java -Didea.launcher.port7537 -Didea.launcher.bin.path/Applications/IntelliJ IDEA 11.app/bin -Dfile.encodingUTF-8 -classpath /Users/Developer/Documents/IdeaProjects/javaee7-handbook/ch06/servlets-basic/out/production/servlets-basic:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/javafx-doclet.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/htmlconverter.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/JObjC.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Users/Developer/.gradle/caches/artifacts-15/filestore/org.glassfish.main.extras/glassfish-embedded-all/4.0-b72/jar/942b982d5c005806a08843d2a1f411f278c04077/glassfish-embedded-all-4.0-b72.jar:/Users/Developer/.gradle/caches/artifacts-15/filestore/javax/javaee-api/7.0-b72/jar/56d50eaa8d21c2f70394f607efc1aa27c360141d/javaee-api-7.0-b72.jar:/Users/Developer/.gradle/caches/artifacts-15/filestore/javax.activation/activation/1.1/jar/e6cb541461c2834bdea3eb920f1884d1eb508b50/activation-1.1.jar:/Users/Developer/.gradle/caches/artifacts-15/filestore/com.sun.mail/javax.mail/1.4.6-rc1/jar/5c5de8592e570afb595a8be727b484d438b49d69/javax.mail-1.4.6-rc1.jar:/Applications/IntelliJ IDEA 11.app/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain je7hb.common.webcontainer.embedded.glassfish.EmbeddedRunner
classpath[0] /Users/Developer/Documents/IdeaProjects/javaee7-handbook/ch06/servlets-basic/out/production/servlets-basic
classpath[1] /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/lib/ant-javafx.jar
classpath[26] /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/ext/zipfs.jar
classpath[27] /Users/Developer/.gradle/caches/artifacts-15/filestore/org.glassfish.main.extras/glassfish-embedded-all/4.0-b72/jar/942b982d5c005806a08843d2a1f411f278c04077/glassfish-embedded-all-4.0-b72.jar
classpath[28] /Users/Developer/.gradle/caches/artifacts-15/filestore/javax/javaee-api/7.0-b72/jar/56d50eaa8d21c2f70394f607efc1aa27c360141d/javaee-api-7.0-b72.jar
classpath[29] /Users/Developer/.gradle/caches/artifacts-15/filestore/javax.activation/activation/1.1/jar/e6cb541461c2834bdea3eb920f1884d1eb508b50/activation-1.1.jar
classpath[30] /Users/Developer/.gradle/caches/artifacts-15/filestore/com.sun.mail/javax.mail/1.4.6-rc1/jar/5c5de8592e570afb595a8be727b484d438b49d69/javax.mail-1.4.6-rc1.jar
classpath[31] /Applications/IntelliJ IDEA 11.app/lib/idea_rt.jar
Found populator: org.glassfish.kernel.embedded.EmbeddedDomainXml
Jan 31, 2013 10:05:12 AM org.glassfish.security.services.impl.authorization.AuthorizationServiceImpl initialize
INFO: Authorization Service has successfully initialized.
Jan 31, 2013 10:05:12 AM org.hibernate.validator.internal.util.Version clinit
INFO: HV000001: Hibernate Validator 5.0.0.Alpha1
Jan 31, 2013 10:05:13 AM com.sun.enterprise.config.modularity.StartupConfigBeanOverrider postConstruct
INFO: Starting the config overriding procedure
Jan 31, 2013 10:05:13 AM com.sun.enterprise.config.modularity.StartupConfigBeanOverrider postConstruct
INFO: Finished the config overriding procedure
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Grizzly Framework 2.3 started in: 18ms - bound to [/0.0.0.0:8,080]
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Grizzly Framework 2.3 started in: 3ms - bound to [/0.0.0.0:8,081]
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.admin.adapter.AdminEndpointDecider setGuiContextRoot
INFO: Admin Console Adapter: context root: /admin
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.admin.adapter.AdminEndpointDecider setGuiContextRoot
INFO: Admin Console Adapter: context root: /admin
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.admin.adapter.AdminEndpointDecider setGuiContextRoot
INFO: Admin Console Adapter: context root: /admin
Jan 31, 2013 10:05:13 AM com.sun.enterprise.v3.server.AppServerStartup$StartupActivator awaitCompletion
INFO: Undefined Product Name - define product and version info in config/branding 0.0.0 (0) startup time : Embedded (1,204ms), startup services(856ms), total(2,060ms)
Jan 31, 2013 10:05:13 AM org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run
INFO: JMXStartupService has disabled JMXConnector system
Jan 31, 2013 10:05:13 AM com.sun.enterprise.connectors.jms.util.JmsRaUtil getInstalledMqVersion
WARNING: RAR7000 : Check for a new version of MQ installation failed : /var/folders/kr/vj5fd5s91g76_t348ndnbtxr0000gn/T/gfembed883899172293116872tmp/lib/install/applications/jmsra/../imqjmsra.rar (No such file or directory):/var/folders/kr/vj5fd5s91g76_t348ndnbtxr0000gn/T/gfembed883899172293116872tmp/lib/install/applications/jmsra/imqjmsra.rar
Jan 31, 2013 10:05:14 AM org.glassfish.admin.mbeanserver.JMXStartupService shutdown
INFO: JMXStartupService and JMXConnectors have been shut down.
JdbcRuntimeExtension, getAllSystemRAResourcesAndPools [GlassFishConfigBean.org.glassfish.jdbc.config.JdbcResource, GlassFishConfigBean.org.glassfish.jdbc.config.JdbcResource, GlassFishConfigBean.org.glassfish.jdbc.config.JdbcConnectionPool, GlassFishConfigBean.org.glassfish.jdbc.config.JdbcConnectionPool]
Jan 31, 2013 10:05:15 AM com.sun.enterprise.v3.server.AppServerStartup stop
INFO: Shutdown procedure finishedProcess finished with exit code 0 如果操作正确您应该会在IDE中看到上面的输出。 为了避免类路径加载问题在JDK 9之前我们将不得不加倍注意。 我的Java EE 7用户指南书预定于2013年夏季发布。 参考 GlassFish 4由我们的JCG合作伙伴 Peter Pilgrim的博客 Blog 推荐了BuildGradle和嵌入式应用服务器 。 翻译自: https://www.javacodegeeks.com/2013/02/glassfish-4-promoted-build-gradle-and-embedded-application-server.html