• Stars
    star
    363
  • Rank 113,685 (Top 3 %)
  • Language
    Java
  • Created over 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Eclipse GlassFish

Eclipse GlassFish

About

Eclipse GlassFish is a Jakarta EE compatible implementation sponsored by the Eclipse Foundation.

Compatibility

  • Eclipse GlassFish 7.0.0 is Jakarta EE 10 compatible, requires Java 11, supports Java 17 and Java 18
  • Eclipse GlassFish 6.2.0 is Jakarta EE 9.1 compatible, requires Java 11, supports Java 17
  • Eclipse GlassFish 6.1.0 is Jakarta EE 9.1 compatible, requires Java 11
  • Eclipse GlassFish 6.0.0 is Jakarta EE 9 compatible, requires Java 8
  • Eclipse GlassFish 5.1.0 is Java EE 8 and Jakarta EE 8 compatible, requires Java 8

Distribution

The Zip distributions can be found on following paths:

  • appserver/distributions/glassfish/target/glassfish.zip (Full Profile)
  • appserver/distributions/web/target/web.zip (Web Profile)

Building

Prerequisites

  • JDK11+, we strongly recommend using JDK17 to build GlassFish with all features.
  • Maven 3.6.0+

Execution

  • mvn clean install - Full build including automatic QA and maven managed tests. Typical time: 5 minutes.
  • mvn clean install -Pfast - Building all distribution artifacts, running just unit tests, QA and integration tests excluded. Typical time: 3 minutes.
  • mvn clean install -Pfastest - Building all distribution artifacts, excluded all QA and testing. Typical time: 1.5 minutes.

You can use also some maven optimizations, ie. using -T4C to allow parallel build.

If you want to see more logs you can use the -Dtest.logLevel=FINEST option set to an appropriate log level. Note that this applies just for tests which are executed by Maven and which use the GlassFish Java Util Logging Extension (GJULE).

Special Profiles

  • staging - In some development stages may happen that some dependencies are available just in OSSRH staging repository. Then you have to use this profile, which is not enabled by default.
  • jacoco - enables the JaCoCo agent in tests, so you can import it's output to you editor, ie. Eclipse, and see the code coverage.
  • jacoco-merge - merges all JaCoCo output files found in subdirectories and merges them into one. It is useful to see code which wasn't even touched by tests.

Special Scripts

  • ./updateVersion.sh 6.99.99.experimental - useful for custom distributions, so you can avoid conflicts with version in master branch.
  • ./runtests.sh [testBlockName] [?glassfishVersion] - useful to run old additional tests locally
  • ./validateJars.sh - uses the bnd command to check OSGI dependencies in all target directories

Additional Testing

After building the GlassFish distribution artifacts you can execute also additional tests managed by bash scripts. They are quite old and have high technical debt, but at this moment they still provide useful service.

QuickLook

mvn -f appserver/tests/quicklook/pom.xml test -Dglassfish.home=$(pwd)/appserver/distributions/glassfish/target/stage/glassfish7/glassfish

Old Additional Tests

⚠️ If the script fails, sometimes it doesn't stop the domain and you have to do that manually.

⚠️ Some of the scripts do inplace filtering or generate other sources which remain and later affect next executions. You have to remove those changes manually.

  • ./runtests.sh batch_all - Usual time: 1 minute

  • ./runtests.sh cdi_all - Usual time: 6 minutes

  • ./runtests.sh connector_group_1 - Usual time: 16 minutes

  • ./runtests.sh connector_group_2 - Usual time: 3 minutes

  • ./runtests.sh connector_group_3 - Usual time: 4 minutes

  • ./runtests.sh connector_group_4 - Usual time: 16 minutes

  • ./runtests.sh deployment_all - Usual time: 8 minutes

  • ./runtests.sh ejb_group_1 - Usual time: 10 minutes

  • ./runtests.sh ejb_group_2 - Usual time: 7 minutes

  • ./runtests.sh ejb_group_3 - Usual time: 18 minutes

  • ./runtests.sh ejb_group_embedded - Usual time: 4 minutes

  • ./runtests.sh ejb_group_all - Usual time: 4 minutes

  • ./runtests.sh jdbc_all - Usual time: 20 minutes

  • ./runtests.sh naming_all - Usual time: 2 minutes

  • ./runtests.sh persistence_all - Usual time: 3 minutes

  • ./runtests.sh security_all - Usual time: 8 minutes

  • ./runtests.sh web_jsp - Usual time: 8 minutes

  • ./runtests.sh webservice_all - Usual time: 10 minutes

  • ./gfbuild.sh archive_bundles && ./gftest.sh ejb_web_all - Usual time: 4 minutes

  • ./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_web_profile_all - Usual time: 2 minutes

  • ./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_full_profile_all - Usual time: 4 minutes

  • many tests under appserver/tests subdirectories; they are still waiting for someone's attention.

Basic Usage

  • Starting Eclipse GlassFish: glassfish7/bin/asadmin start-domain
  • Visit http://localhost:4848
  • Stopping Eclipse GlassFish: glassfish7/bin/asadmin stop-domain

Professional Services and Enterprise Support

This section is dedicated to companies offering products and services around Eclipse GlassFish.

The Eclipse GlassFish project does not endorse or recommend any of the companies on this page. We love all our supporters equally.

Professional Services and Enterprise support are available through following companies:

More Repositories

1

jersey

Eclipse Jersey Project - Read our Wiki:
Java
671
star
2

cargotracker

The project demonstrates how you can develop applications with Jakarta EE using widely adopted architectural best practices like Domain-Driven Design (DDD).
JavaScript
329
star
3

ee4j

Eclipse EE4J Top-level Project and community related issues
275
star
4

yasson

Eclipse Yasson project
Java
195
star
5

jaxb-ri

Jaxb RI
Java
192
star
6

eclipselink

Eclipselink project
Java
185
star
7

mojarra

Mojarra, a Jakarta Faces implementation
Java
156
star
8

grizzly

Grizzly
Java
143
star
9

jakartaee-examples

Jakarta EE Examples
Java
110
star
10

tyrus

Tyrus
Java
109
star
11

jakartaee-tutorial

Jakarta EE Tutorial
Ruby
92
star
12

glassfish-hk2

Dynamic dependency injection framework
Java
75
star
13

metro-jax-ws

metro-jax-ws
Java
66
star
14

soteria

Soteria, a Jakarta Security implementation
Java
55
star
15

krazo

Java
51
star
16

openmq

OpenMQ
Java
46
star
17

starter

Eclipse Starter for Jakarta EE
HTML
46
star
18

angus-mail

Angus Mail
Java
41
star
19

glassfish-samples

Java
32
star
20

jakartaee-firstcup-examples

Java
28
star
21

orb

Eclipse ORB is a CORBA orb for use in Jakarta EE and GlassFish and other projects that still need an ORB.
Java
19
star
22

glassfish-concurro

Eclipse Concurrō project
Java
15
star
23

parsson

Parsson Project
Java
11
star
24

metro-saaj

Java
11
star
25

jakartaee-firstcup

First Cup of Jakarta EE Tutorial
CSS
11
star
26

expressly

Expressly, a Jakarta Expression Language implementation
Java
10
star
27

exousia

Exousia, a Jakarta Authorization implementation
Java
10
star
28

jaxb-istack-commons

Java
10
star
29

odi

Open DI
Java
8
star
30

jaxb-fi

Java
8
star
31

angus-activation

Angus Activation
Java
7
star
32

jaxb-dtd-parser

Java
7
star
33

grizzly-ahc

Java
7
star
34

epicyro

Epicyro, a Jakarta Authentication implementation
Java
7
star
35

metro-wsit

metro-wsit
Java
6
star
36

glassfish-fighterfish

FighterFish project
Java
6
star
37

wasp

WaSP, a Jakarta Pages implementation
Java
6
star
38

jaxb-stax-ex

Java
6
star
39

ee4j-website

Website for the Eclipse EE4J Top Level Project
PHP
6
star
40

eclipselink-workbench

eclipselink-workbench
Java
6
star
41

jakartaee-tck-tools

Java
5
star
42

orb-gmbal-pfl

Java
4
star
43

eclipselink-examples

eclipselink-examples
Java
4
star
44

glassfish-shoal

Shoal
Java
4
star
45

glassfish-maven-embedded-plugin

Glassfish maven embedded plugin
Java
4
star
46

glassfish-jsftemplating

JSFTemplating project
Java
4
star
47

glassfish-security-plugin

Java
4
star
48

jakartaee-release

This repository will be used to help manage the various Jakarta EE releases. No deliverable code will be housed in this repository -- only Issues, PRs, Tools, etc in support of delivering a release
Shell
4
star
49

glassfish-repackaged

GlassFish repackaged 3rd party
3
star
50

glassfish-hk2-extra

HK2 extra
Java
3
star
51

glassfish-woodstock

GlassFish Woodstock UI components
Java
3
star
52

jersey.github.io

Jersey project
3
star
53

metro-mimepull

Metro mimepull
Java
3
star
54

glassfish-build-maven-plugin

GlassFish Build Maven Plugin
Java
3
star
55

glassfish-logging-annotation-processor

Java
2
star
56

glassfish-cdi-porting-tck

Java
2
star
57

glassfish-copyright-plugin

Java
2
star
58

glassfish-spec-version-maven-plugin

API Specification Version Maven Plugin
Java
2
star
59

jax-rpc-ri

JAX RPC Implementation (Eclipse Metro Project)
Java
2
star
60

genericmessagingra

Java
2
star
61

orb-gmbal-commons

Java
2
star
62

eclipselink-oracleddlparser

eclipselink-oracleddlparser
Java
2
star
63

glassfish-doc-plugin

Java
2
star
64

grizzly-memcached

Grizzly-memcached
Java
2
star
65

gransasso

Eclipse Gransasso Repository
2
star
66

mojarra-jsf-extensions

Java
1
star
67

glassfish-ha-api

glassfish-ha-api
Java
1
star
68

grizzly-thrift

Grizzly-thrift
Java
1
star
69

jersey-web

The source repository for
HTML
1
star
70

management-api

Jakarta Management
Java
1
star
71

metro-xmlstreambuffer

Metro xmlstreambuffer
Java
1
star
72

metro-package-rename-task

Metro package rename
Java
1
star
73

jax-rpc-api

Jakartaee-stable project
Java
1
star
74

jakartaee-renames

1
star
75

glassfish-docs

HTML
1
star
76

krazo-extensions

Java
1
star