• Stars
    star
    377
  • Rank 113,535 (Top 3 %)
  • Language
    Java
  • Created about 6 years ago
  • Updated 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
689
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
342
star
3

ee4j

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

jaxb-ri

Jaxb RI
Java
202
star
5

yasson

Eclipse Yasson project
Java
201
star
6

eclipselink

Eclipselink project
Java
196
star
7

mojarra

Mojarra, a Jakarta Faces implementation
Java
160
star
8

grizzly

Grizzly
Java
147
star
9

jakartaee-examples

Jakarta EE Examples
Java
124
star
10

tyrus

Tyrus
Java
112
star
11

jakartaee-tutorial

Jakarta EE Tutorial
Ruby
96
star
12

glassfish-hk2

Dynamic dependency injection framework
Java
84
star
13

metro-jax-ws

metro-jax-ws
Java
71
star
14

soteria

Soteria, a Jakarta Security implementation
Java
57
star
15

angus-mail

Angus Mail
Java
53
star
16

krazo

Java
50
star
17

openmq

OpenMQ
Java
50
star
18

starter

Eclipse Starter for Jakarta EE
HTML
50
star
19

glassfish-samples

Java
32
star
20

jakartaee-firstcup-examples

Java
31
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
23
star
22

glassfish-concurro

Eclipse Concurrō project
Java
14
star
23

jaxb-istack-commons

Java
13
star
24

metro-saaj

Java
13
star
25

jakartaee-firstcup

First Cup of Jakarta EE Tutorial
CSS
13
star
26

exousia

Exousia, a Jakarta Authorization implementation
Java
11
star
27

parsson

Parsson Project
Java
10
star
28

expressly

Expressly, a Jakarta Expression Language implementation
Java
9
star
29

odi

Open DI
Java
8
star
30

jaxb-fi

Java
8
star
31

jakartaee-tck-tools

Java
7
star
32

wasp

WaSP, a Jakarta Pages implementation
Java
7
star
33

jaxb-stax-ex

Java
7
star
34

grizzly-ahc

Java
7
star
35

jaxb-dtd-parser

Java
7
star
36

metro-wsit

metro-wsit
Java
6
star
37

glassfish-fighterfish

FighterFish project
Java
6
star
38

ee4j-website

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

eclipselink-workbench

eclipselink-workbench
Java
6
star
40

epicyro

Epicyro, a Jakarta Authentication implementation
Java
6
star
41

angus-activation

Angus Activation
Java
5
star
42

glassfish-shoal

Shoal
Java
5
star
43

glassfish.docker

Official supported GlassFish docker
Dockerfile
5
star
44

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
5
star
45

orb-gmbal-pfl

Java
4
star
46

eclipselink-examples

eclipselink-examples
Java
4
star
47

glassfish-maven-embedded-plugin

Glassfish maven embedded plugin
Java
4
star
48

glassfish-jsftemplating

JSFTemplating project
Java
4
star
49

glassfish-security-plugin

Java
4
star
50

glassfish-repackaged

GlassFish repackaged 3rd party
3
star
51

glassfish-hk2-extra

HK2 extra
Java
3
star
52

glassfish-woodstock

GlassFish Woodstock UI components
Java
3
star
53

jersey.github.io

Jersey project
3
star
54

metro-mimepull

Metro mimepull
Java
3
star
55

glassfish-build-maven-plugin

GlassFish Build Maven Plugin
Java
3
star
56

glassfish-logging-annotation-processor

Java
2
star
57

glassfish-cdi-porting-tck

Java
2
star
58

glassfish-copyright-plugin

Java
2
star
59

glassfish-spec-version-maven-plugin

API Specification Version Maven Plugin
Java
2
star
60

jax-rpc-ri

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

eclipselink-oracleddlparser

eclipselink-oracleddlparser
Java
2
star
62

orb-gmbal-commons

Java
2
star
63

genericmessagingra

Java
2
star
64

grizzly-memcached

Grizzly-memcached
Java
2
star
65

glassfish-doc-plugin

Java
2
star
66

mojarra-jsf-extensions

Java
1
star
67

grizzly-thrift

Grizzly-thrift
Java
1
star
68

jersey-web

The source repository for
HTML
1
star
69

management-api

Jakarta Management
Java
1
star
70

glassfish-ha-api

glassfish-ha-api
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

gransasso

Eclipse Gransasso Repository
1
star
77

krazo-extensions

Java
1
star
78

debugging-support-for-other-languages-tck

Java
1
star
79

cditck-porting

Standard ML
1
star
80

ditck-porting

Shell
1
star
81

bvtck-porting

Glassfish Bean Validation 2.0 porting kit
Standard ML
1
star