• Stars
    star
    361
  • Rank 114,236 (Top 3 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

https://openjdk.org/projects/nashorn

Nashorn Engine

Nashorn engine is an open source implementation of the ECMAScript Edition 5.1 Language Specification. It also implements many new features introduced in ECMAScript 6 including template strings; let, const, and block scope; iterators and for..of loops; Map, Set, WeakMap, and WeakSet data types; symbols; and binary and octal literals. It is written in Java and runs on the Java Virtual Machine.

Nashorn used to be part of the JDK until Java 14. This project provides a standalone version of Nashorn suitable for use with Java 11 and later.

Nashorn is free software, licensed under GPL v2 with the Classpath exception, just like the JDK.

Documentation

View the JavaDoc.

Making Nashorn standalone is still a work in progress. There is no standalone user's guides for it yet. The best current guides are Nashorn-related documents last published by Oracle with Java 14:

(When browsing these guides, mentally substitute org.openjdk.nashorn in place of jdk.scripting.nashorn module name and jdk.nashorn package name.)

Getting Started

Latest version of Nashorn is 15.4, available from Maven Central. You can check the change log to see what's new.

Nashorn is a JPMS module, so make sure it and its transitive dependencies (Nashorn depends on several ASM JARs) are on your application's module path, or appropriately added to a module layer, or otherwise configured as modules.

While standalone Nashorn is primarily meant to be used with Java 15 and later versions, it can also be used with Java versions 11 to 14 that have a built-in version of Nashorn too. See this page for details on use when both versions are present.

Building From Source

Nashorn uses Ant as its build system.

cd make/nashorn
ant jar

will download the dependencies and build the JAR file. Other notable targets are test for running its own internal test suite, or test262-parallel for running the official ECMA-262 test suite for ECMAScript 5.1. You will need to execute ant get-test262 to download the tests into Nashorn's local test directory once.

Contributing

Nashorn is a project under the charter of the OpenJDK. The OpenJDK Bylaws govern our work. The Nashorn project membership can be found on the OpenJDK Census. We welcome patches and involvement from individual contributors or companies. If this is your first time contributing to an OpenJDK project, you will need to review the rules on becoming a Contributor, and sign the Oracle Contributor Agreement (OCA).

Issue tracking

If you think you have found a bug in Nashorn, first make sure that you are testing against the latest version - your issue may already have been fixed. If not, search our issues list in the Java Bug System (JBS) in case a similar issue has already been opened. More information on where and how to report a bug can be found at bugreport.java.com. Use component "Core Libraries" and Subcomponent "jdk.nashorn" when filing an issue.

Discussion

Discussion of Nashorn development happens on the nashorn-dev mailing list.

More Repositories

1

jdk

JDK main-line development https://openjdk.org/projects/jdk
Java
17,577
star
2

jfx

JavaFX mainline development
C++
2,552
star
3

jmh

https://openjdk.org/projects/code-tools/jmh
Java
1,857
star
4

loom

https://openjdk.org/projects/loom
Java
1,828
star
5

jol

https://openjdk.org/projects/code-tools/jol
Java
810
star
6

jmc

Repository for OpenJDK Mission Control, a production time profiling and diagnostics tools suite. https://openjdk.org/projects/jmc
Java
786
star
7

valhalla

https://openjdk.org/projects/valhalla
Java
493
star
8

jcstress

https://openjdk.org/projects/code-tools/jcstress
Java
368
star
9

panama-foreign

https://openjdk.org/projects/panama
Java
270
star
10

jextract

https://openjdk.org/projects/code-tools
Java
237
star
11

skara

https://openjdk.org/projects/skara
Java
199
star
12

jdk8u

https://wiki.openjdk.org/display/jdk8u
Java
187
star
13

wakefield

https://openjdk.org/projects/wakefield
Java
169
star
14

jdk17

https://openjdk.org/projects/jdk/17 released 2021-09-14
Java
164
star
15

amber

https://openjdk.org/projects/amber
Java
164
star
16

zgc

The Z Garbage Collector https://wiki.openjdk.org/display/zgc
Java
158
star
17

crac

https://openjdk.org/projects/crac
Java
157
star
18

amber-docs

https://openjdk.org/projects/amber
HTML
142
star
19

mobile

https://openjdk.org/projects/mobile
Java
134
star
20

jdk11u

https://openjdk.org/projects/jdk-updates
Java
130
star
21

shenandoah

https://openjdk.org/projects/shenandoah
Java
117
star
22

panama-vector

https://openjdk.org/projects/panama
Java
79
star
23

shenandoah-visualizer

https://openjdk.org/projects/shenandoah
Java
78
star
24

jdk17u

https://wiki.openjdk.org/display/JDKUpdates/JDK+17u
Java
76
star
25

aarch64-port

Port: AArch64 Project
Java
70
star
26

jdk21

https://openjdk.org/projects/jdk/21 released 2023-09-19
Java
65
star
27

asmtools

https://wiki.openjdk.org/display/CodeTools/asmtools
Java
60
star
28

valhalla-docs

https://openjdk.org/projects/valhalla
CSS
58
star
29

jdk16

https://openjdk.org/projects/jdk/16 released 2021-03-16
Java
57
star
30

guide

OpenJDK Developers' Guide https://openjdk.org/guide
Makefile
56
star
31

leyden

https://openjdk.org/projects/leyden
Java
55
star
32

jdk-sandbox

JDK Committers Sandbox
Java
55
star
33

jdk11u-dev

https://openjdk.org/projects/jdk-updates
Java
54
star
34

jtreg

https://openjdk.org/projects/code-tools/jtreg
Java
53
star
35

lilliput

https://openjdk.org/projects/lilliput
Java
47
star
36

riscv-port

https://openjdk.org/projects/riscv-port
Java
41
star
37

babylon

https://openjdk.org/projects/babylon
Java
41
star
38

jdk8

https://openjdk.org/projects/jdk8 released 2014-03-18
Java
40
star
39

jdk8u-dev

https://wiki.openjdk.org/display/jdk8u
Java
40
star
40

jdk15

https://openjdk.org/projects/jdk/15 released 2020-09-15
Java
39
star
41

jdk19

https://openjdk.org/projects/jdk/19 released 2022-09-20
Java
39
star
42

jmh-jdk-microbenchmarks

https://openjdk.org/projects/code-tools/jmh-jdk-microbenchmarks
Java
36
star
43

jdk17u-dev

https://openjdk.org/projects/jdk-updates
Java
32
star
44

jdk13

https://openjdk.org/projects/jdk/13 released 2019-09-17
Java
32
star
45

jdk21u

https://openjdk.org/projects/jdk-updates
Java
30
star
46

lanai

https://openjdk.org/projects/lanai
Java
27
star
47

jdk16u

https://openjdk.org/projects/jdk-updates last released 2021-07-20
Java
26
star
48

portola

https://openjdk.org/projects/portola
Java
23
star
49

jdk18

https://openjdk.org/projects/jdk/18 released 2022-03-22
Java
23
star
50

tsan

https://openjdk.org/projects/tsan
Java
22
star
51

duke

https://openjdk.org/projects/duke
Mathematica
21
star
52

jdk19u

https://openjdk.org/projects/jdk-updates last released 2023-01-17
Java
20
star
53

jdk11

https://openjdk.org/projects/jdk/11 released 2018-09-25
20
star
54

jdk20

https://openjdk.org/projects/jdk/20 released 2023-03-21
Java
20
star
55

jdk13u-dev

https://openjdk.org/projects/jdk-updates development (identical to jdk13u)
Java
17
star
56

jdk14u

https://openjdk.org/projects/jdk-updates last released 2020-07-14
Java
16
star
57

jcov

https://wiki.openjdk.org/display/CodeTools/jcov
Java
16
star
58

jdk12u

https://openjdk.org/projects/jdk-updates last released 2019-07-16
Java
16
star
59

metropolis

https://openjdk.org/projects/metropolis
Java
16
star
60

jdk20u

https://openjdk.org/projects/jdk-updates last released 2023-07-18
Java
15
star
61

jdk14

https://openjdk.org/projects/jdk/14 released 2020-03-17
Java
15
star
62

galahad

https://openjdk.org/projects/galahad
Java
15
star
63

jdk6

https://openjdk.org/projects/jdk6
Java
14
star
64

jfx-sandbox

OpenJFX Committers Sandbox
C++
13
star
65

jdk7u

https://wiki.openjdk.org/display/jdk7u last released 2022-07-19
Java
12
star
66

jtharness

https://wiki.openjdk.org/display/CodeTools/JT+Harness
Java
12
star
67

jfx11u

JavaFX 11 updates development
C++
12
star
68

jmc7

https://openjdk.org/projects/jmc
Java
12
star
69

jdk15u

https://wiki.openjdk.org/display/JDKUpdates/JDK+15u last released 2023-01-18
Java
11
star
70

jfx20u

JavaFX 20.x: last released 2023-07-18
C++
10
star
71

jdk7

https://openjdk.org/projects/jdk7 released 2011-07-28
Java
10
star
72

jemmy-v2

UI test automation library - v2
Java
9
star
73

jdk12

https://openjdk.org/projects/jdk/12 released 2019-03-19
8
star
74

webrevs

Automatically generated JSON files for webrevs
8
star
75

jdk15u-dev

https://openjdk.org/projects/jdk-updates development (identical to jdk15u)
Java
8
star
76

jfx21u

JavaFX 21 updates development
C++
7
star
77

jdk13u

https://wiki.openjdk.org/display/JDKUpdates/JDK+13u last released 2023-01-18
Java
7
star
78

client

JDK 16 era Client Libraries development
Java
7
star
79

jfx17u

JavaFX 17 updates development
C++
6
star
80

jdk18u

https://openjdk.org/projects/jdk-updates last released 2022-08-18
Java
6
star
81

playground

Repository for experimenting. May be synced and/or reset at any time without notice.
Java
6
star
82

lilliput-jdk17u

https://openjdk.org/projects/lilliput
Java
6
star
83

cr

https://openjdk.org/projects/skara
HTML
6
star
84

jdk22

https://openjdk.org/projects/jdk/22
Java
6
star
85

riscv-port-jdk17u

https://openjdk.org/projects/riscv-port
Java
6
star
86

sigtest

https://wiki.openjdk.org/display/CodeTools/sigtest
Java
5
star
87

shenandoah-jdk8u

https://openjdk.org/projects/shenandoah
Java
5
star
88

jdk11u-ri

JSR 384 Reference Implementation (Java SE 11) [not for production use]
Java
4
star
89

jdk9

https://openjdk.org/projects/jdk9 released 2017-09-21
Java
4
star
90

aarch32-port-jdk8u

https://openjdk.org/projects/aarch32-port
Java
4
star
91

jdk10u

https://openjdk.org/projects/jdk-updates last released 2018-07-17
3
star
92

friday-stats

https://openjdk.org/projects/code-tools/friday-stats
Java
3
star
93

jdk9u

https://openjdk.org/projects/jdk-updates last released 2018-01-16
Java
3
star
94

jfx12

JavaFX 12.x : last released 2019-07-19
C++
3
star
95

jfx13

JavaFX 13.x : last released 2020-01-15
C++
3
star
96

jmc-graphics

https://openjdk.org/projects/jmc
3
star
97

webrev

https://openjdk.org/projects/code-tools/webrev
Shell
2
star
98

riscv-port-jdk11u

https://openjdk.org/projects/riscv-port
Java
2
star
99

lilliput-jdk21u

https://openjdk.org/projects/lilliput
Java
2
star
100

jfx-tests

JavaFX Jemmy-based tests
Java
2
star