日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自己构建GlassFish 4.0快照

發布時間:2023/12/3 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己构建GlassFish 4.0快照 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章是關于自己發布GlassFish 4.0快照的,其中包括一些黑客。 我找到了GlassFish FullBuild的官方說明,然后決定自己構建服務器。 有時,您可能不想等待團隊升級GlassFish構建文件。 在本條目中,我將Artifactory稱為私有Maven存儲庫,當然,您也可以使用其他東西。 從Subversion自己簽出GlassFish 4.0的源代碼:

svn checkout https://svn.java.net/svn/glassfish~svn/trunk/main glassfish-main

您需要修改工作站的Maven設置文件以排除Eclipse工件。這是我配置的settings.xml的示例。

<settings xmlns='http://maven.apache.org/SETTINGS/1.0.0'xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd'><!--Maven http://maven.apache.org/settings.html --><localRepository/><interactiveMode/><usePluginRegistry/><offline/><pluginGroups/><servers><server><id>ACME-ARTIFACTORY-PRIVATE</id><username>administrator</username><password>password</password></server></servers><mirrors><mirror><id>maven-central</id><url>http://repo1.maven.org/maven2/</url><mirrorOf>central,!eclipselink.repository</mirrorOf></mirror></mirrors><proxies/><profiles/><activeProfiles/> </settings>

在編譯整個GlassFish代碼之前,我們需要破解POM文件,以便它們將工件安裝到我們的專用Artifactory服務器中,而不是Maven Central中。 將以下節添加到分發中的POM文件中:

<distributionManagement><repository><id>ACME-ARTIFACTORY-PRIVATE</id><name>acme-releases</name><url>http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE</url></repository><snapshotRepository><id>ACME-ARTIFACTORY-PRIVATE</id><name>acme-snapshots</name><url>http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE</url></snapshotRepository></distributionManagement>

在上面的節中,將ACME的定義編輯到您私有的Artifactory服務器,然后將其復制以下POM文件:

  • main/pom.xml
  • main/appserver/javaee-api/pom.xml
  • main/appserver/pom.xml
  • main/nuclues/pom.xml

這是一個討厭的黑客,因為我不喜歡您無法設置從配置更改部署服務器和憑據。 其他源代碼允許通過Maven配置文件甚至屬性文件配置部署服務器。 確保您的Maven設置適用于Artifactory部署,并且我們還設置了Maven構建過程。 設置環境變量MAVEN_OPTS,以使Maven有足夠的內存,并且永久生成足夠高,以避免編譯期間出現內存不足異常。

MAVEN_OPTS=-Xmx1024m -Xms256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

如果您有16GB RAM工作站,為什么不將其最大化以編譯整個GlassFish? 垃圾收集算法更改為并發標記和清除算法,并且我們還將啟用的類卸載設置為啟用。 您準備好進行編譯,輸入以下命令:

cd glassfish-main svn update mvn clean mvn install -DskipTests=true

在像樣的Intel Core i5 / i7機器(2012)上,讓自己成為大約20分鐘的熱飲料和小吃。 休息一下。 請注意,我們在這里避免運行單元測試,而跳過了測試,因為我們只想快速地在倉庫中發布工作版本,但這并不是說測試很糟糕。 成功編譯所有模塊之后,現在您可以部署到私有Maven存儲庫。 如果遵循先前的說明(關于將節復制到單個POM文件),則可以從根目錄執行此命令。

cd glassfish-main mvn deploy -DskipTests=true

將工件部署到Artifactory之后,檢查快照4.0版本的存儲庫,它們都應該存在。 現在下降到Java EE項目文件夾。 破解POM文件glassfish-main/appserver/javaee-api/javax.javaee-api/pom.xml 。 它在build部分中缺少maven源插件,因此,默認情況下,它不會生成源JAR,這對于查看新的JavaEE 7 API很有用! 查找XPath project/build/plugins然后將以下節附加到該POM。

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><executions><execution><id>attach-sources</id><phase>package</phase><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin>

執行以下命令行,以部署Java EE api工件

cd glassfish-main/appserver/javaee mvn deploy -DskipTests=true

由于某種原因,主要執行不會自動安裝javax.javaee-api工件。 執行此行將為三個基礎模塊生成JAR和SOURCES JAR: javax.javaee-api , javax.javaee-web-api和javax.javaee-endorsed-api 。 轉至Artifactory,查看工件已全部部署。 然后,您可以像這樣編寫Gradle構建文件:

repositories {maven {credentials {username 'administrator'password 'passowrd'}url 'http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE'}maven {url 'https://maven.java.net/content/groups/promoted'}maven {url 'http://repository.jboss.org/nexus/content/groups/public'} }dependencies {providedCompile 'org.glassfish.main.extras:glassfish-embedded-all:4.0-SNAPSHOT'providedCompile 'javax:javaee-api:7.0-bpeter-private'providedCompile 'javax:javaee-web-api:7.0-bpeter-private'compile 'org.glassfish.main.extras:glassfish-embedded-all:4.0-SNAPSHOT'compile 'javax:javaee-api:7.0-bpeter-private'testCompile 'junit:junit:4.10' }

特別是,請注意,構建版本注釋為7.0-bpeter-private 。 我尚未解決的難題的最后一部分是如何配置build.id Maven屬性,以便我可以自定義內部版本號。 仍然是一個謎。 如果您碰巧知道答案,請給我響鈴。 干杯!

參考:在Peter Pilgrim的博客博客中,我們的JCG合作伙伴 Peter Pilgrim 自己構建了GlassFish 4.0快照 。

翻譯自: https://www.javacodegeeks.com/2013/03/build-glassfish-4-0-snapshots-yourself.html

總結

以上是生活随笔為你收集整理的自己构建GlassFish 4.0快照的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。