Giter Site home page Giter Site logo

craigmit / gwt-maven-springboot-archetype Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nalukit/gwt-maven-springboot-archetype

0.0 0.0 0.0 78 KB

This project contains Maven archetypes for modular GWT projects using Spring Boot Server

License: Apache License 2.0

Shell 7.20% Java 66.83% CSS 3.36% HTML 22.61%

gwt-maven-springboot-archetype's Introduction

gwt-maven-springboot-archetype

This project contains a Maven archetype for modular GWT projects using Spring Boot. The repo is based on the implementation of Thomas Broyer's gwt-maven-archetypes.

If you are looking for the original archetype creator or would prefer another backend/implementation, please visit: gwt-maven-archetypes.

How to use

Generate a project

mvn archetype:generate -DarchetypeGroupId=com.github.nalukit.archetype -DarchetypeVersion=LATEST -DarchetypeArtifactId=<artifactId>

where the available <artifactIds> is:

  • clean-modular-springboot-webapp
  • modular-springboot-webapp

This should use the latest release from the Central Repository.

๐Ÿ“ Maven 2.2 or later is required.

clean-modular-springboot-webapp

Generates a clean Spring Boot multi Maven module project without any example code. If you need a clean approach, this is the best way to start.

The generated project will use the following version:

  • Java 17
  • GWT 2.11.0
  • Spring Boot 3.2.5

modular-springboot-webapp

Generates a Spring Boot multi Maven module project with any example code. The example is similar to the one from the GWT project.

The generated project will use the following version:

  • Java 17
  • GWT 2.11.0
  • Spring Boot 3.2.5

Start the development mode

Change directory to your generated project and issue the following commands:

  1. In one terminal window: mvn gwt:codeserver -pl *-client -am
  2. In another terminal window: mvn spring-boot:run -pl *-server -am

๐Ÿ“ The -pl and -am are not strictly necessary, they just tell Maven not to build the client module when you're dealing with the server one, and vice versa.

Once both are server are running, enter http://localhost:8080 in a browser window.

๐Ÿ“ Both servers are running when the code server outputs The code server is ready at http://127.0.0.1:9876/ and the Spring Boot server outputs Started Application in xxx seconds.

Build a release

After you have generated your project from the above steps, you can create a release build and test it works.

Change directory to your generated project and issue the following commands:

  1. mvn clean package
  2. cd *-server/target
  3. java -jar myapp.war

๐Ÿ“ Replace myapp.war with the name of your war file.

Open http://localhost:8080 in a browser window to test your release build.

Contributing

If you want to hack on / contribute to the archetypes, you can:

git clone https://github.com/NaluKit/gwt-maven-springboot-archetype
cd gwt-maven-springboot-archetype

Make your changes, and run:

mvn clean verify

This will generate sample apps that can be found in both the clean-modular-springboot-webapp and modular-springboot-webapp directories, in the target/test-classes/projects/basic-webapp/project/basic-webapp directory.

You can also install your modified version of the project locally:

mvn clean install

Then use the mvn archetype:generate command from above, except for the -DarchetypeVersion argument which you'll replace with HEAD-SNAPSHOT.

gwt-maven-springboot-archetype's People

Contributors

frankhossfeld avatar craigmit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.