You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "yangyongzheng (JIRA)" <ji...@apache.org> on 2018/03/27 07:04:00 UTC

[jira] [Updated] (SCB-439) Provide Maven Archetypes in Java Chassis

     [ https://issues.apache.org/jira/browse/SCB-439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

yangyongzheng updated SCB-439:
------------------------------
    Description: 
*What's maven archetypes ?*

[http://maven.apache.org/guides/introduction/introduction-to-archetypes.html]

*Why we need provide archetypes ?*

If user create a blank maven project and want import chassis, he must do these steps:
 # Our chassis support multi provider and transport, also support integration with spring boot, he must copy right dependencies into pom, and let "java-chassis-dependencies" manage versions.
 # He must create "microservice.yaml" in resources folder and fill right setting, so I think he will copy from samples.
 # He may copy endpoint implement and replace the operations for faster rewrite.

So, I think if we need write long user guide ([http://servicecomb.incubator.apache.org/users/]) to explain how to do,why don't we just create one with a "hello world" provider, then Fire.

*What we will provide ?*

      1.business-service-pojo

          Archetype for create a common microservice using pojo provider.

      2.business-service-springmvc

          Archetype for create a common microservice using springmvc provider.

      3.business-service-jaxrs

          Archetype for create a common microservice using jaxrs provider.

      4.business-service-with-spring-boot-starter

          Archetype for create a common microservice using spring-boot-starter-provider.

       5.edge-service

          Archetype for create an edge microservice using servicecomb edge-core with a general router dispatcher.

       6.edge-service-with-zuul

          Archetype for create an edge microservice using spring cloud zuul.

       7.auth-service

          Archetype for create an auth microservice with a simple jwt(Json Web Token) authentication.

*How these* *archetypes build and publish* *?*

We will buid this archetypes via _*mvn archetype:create-from-project.*_

Then publish them into maven center repository

```xml
 {{<groupId>org.apache.servicecomb.archetypes</groupId>}}
 {{<artifactId>${archetype-name}</artifactId>}}
 {{<version>${archetype-version}</version>}}
 ```

*How to use these* *archetypes generate project(module) ?*

create project(module) via IDE, or run command :

```bash

mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-{xxx}-archetype -DarchetypeVersion=${archetype-version}

```

*Discussion mail :*

[https://lists.apache.org/thread.html/15273af2af376e3d3000aa8864acfaee07c8ce08b927a3f9f8a7409d@%3Cdev.servicecomb.apache.org%3E]

  was:
*What's maven archetypes ?*

[http://maven.apache.org/guides/introduction/introduction-to-archetypes.html]

*Why we need provide archetypes ?*

If user create a blank maven project and want import chassis, he must do these steps:
 # Our chassis support multi provider and transport, also support integration with spring boot, he must copy right dependencies into pom, and let "java-chassis-dependencies" manage versions.
 # He must create "microservice.yaml" in resources folder and fill right setting, so I think he will copy from samples.
 # He may copy endpoint implement and replace the operations for faster rewrite.

So, I think if we need write long user guide ([http://servicecomb.incubator.apache.org/users/]) to explain how to do,why don't we just create one with a "hello world" provider, then Fire.

*What we will provide ?*

      1.business-service-pojo

          Archetype for create a common microservice using pojo provider.

      2.business-service-springmvc

          Archetype for create a common microservice using springmvc provider.

      3.business-service-jaxrs

          Archetype for create a common microservice using jaxrs provider.

      4.business-service-with-spring-boot-starter

          Archetype for create a common microservice using spring-boot-starter-provider.

       5.edge-service

          Archetype for create an edge microservice using servicecomb edge-core with a general router dispatcher.

       6.edge-service-with-zuul

          Archetype for create an edge microservice using spring cloud zuul.

       7.auth-service

          Archetype for create an auth microservice with a simple jwt(Json Web Token) authentication.

*How these* *archetypes build and publish* *?*

We will buid this archetypes via _*mvn archetype:create-from-project.*_

Then publish them into maven center repository

```xml
{{<groupId>org.apache.servicecomb.archetypes</groupId>}}
{{<artifactId>${archetype-name}</artifactId>}}
{{<version>${archetype-version}</version>}}
```

*How to use these* *archetypes generate project(module)*** *?*

create project(module) via IDE, or run command :

```bash

mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-\{xxx}-archetype -DarchetypeVersion=${archetype-version}

```

*Discussion mail :*

https://lists.apache.org/thread.html/15273af2af376e3d3000aa8864acfaee07c8ce08b927a3f9f8a7409d@%3Cdev.servicecomb.apache.org%3E


> Provide Maven Archetypes in Java Chassis
> ----------------------------------------
>
>                 Key: SCB-439
>                 URL: https://issues.apache.org/jira/browse/SCB-439
>             Project: Apache ServiceComb
>          Issue Type: New Feature
>          Components: Java-Chassis
>    Affects Versions: java-chassis-1.0.0-m2
>            Reporter: yangyongzheng
>            Assignee: yangyongzheng
>            Priority: Major
>             Fix For: java-chassis-1.0.0-m2
>
>
> *What's maven archetypes ?*
> [http://maven.apache.org/guides/introduction/introduction-to-archetypes.html]
> *Why we need provide archetypes ?*
> If user create a blank maven project and want import chassis, he must do these steps:
>  # Our chassis support multi provider and transport, also support integration with spring boot, he must copy right dependencies into pom, and let "java-chassis-dependencies" manage versions.
>  # He must create "microservice.yaml" in resources folder and fill right setting, so I think he will copy from samples.
>  # He may copy endpoint implement and replace the operations for faster rewrite.
> So, I think if we need write long user guide ([http://servicecomb.incubator.apache.org/users/]) to explain how to do,why don't we just create one with a "hello world" provider, then Fire.
> *What we will provide ?*
>       1.business-service-pojo
>           Archetype for create a common microservice using pojo provider.
>       2.business-service-springmvc
>           Archetype for create a common microservice using springmvc provider.
>       3.business-service-jaxrs
>           Archetype for create a common microservice using jaxrs provider.
>       4.business-service-with-spring-boot-starter
>           Archetype for create a common microservice using spring-boot-starter-provider.
>        5.edge-service
>           Archetype for create an edge microservice using servicecomb edge-core with a general router dispatcher.
>        6.edge-service-with-zuul
>           Archetype for create an edge microservice using spring cloud zuul.
>        7.auth-service
>           Archetype for create an auth microservice with a simple jwt(Json Web Token) authentication.
> *How these* *archetypes build and publish* *?*
> We will buid this archetypes via _*mvn archetype:create-from-project.*_
> Then publish them into maven center repository
> ```xml
>  {{<groupId>org.apache.servicecomb.archetypes</groupId>}}
>  {{<artifactId>${archetype-name}</artifactId>}}
>  {{<version>${archetype-version}</version>}}
>  ```
> *How to use these* *archetypes generate project(module) ?*
> create project(module) via IDE, or run command :
> ```bash
> mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-{xxx}-archetype -DarchetypeVersion=${archetype-version}
> ```
> *Discussion mail :*
> [https://lists.apache.org/thread.html/15273af2af376e3d3000aa8864acfaee07c8ce08b927a3f9f8a7409d@%3Cdev.servicecomb.apache.org%3E]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)