{"id":14988356,"url":"https://github.com/apache/openwebbeans-meecrowave","last_synced_at":"2025-04-04T19:14:16.937Z","repository":{"id":52469923,"uuid":"76099157","full_name":"apache/openwebbeans-meecrowave","owner":"apache","description":"Apache OpenWebBeans meecrowave","archived":false,"fork":false,"pushed_at":"2024-12-13T21:02:40.000Z","size":2585,"stargazers_count":56,"open_issues_count":0,"forks_count":28,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-03-28T18:16:49.320Z","etag":null,"topics":["meecrowave"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-10T08:00:06.000Z","updated_at":"2024-12-13T21:02:44.000Z","dependencies_parsed_at":"2024-01-23T17:30:54.565Z","dependency_job_id":"276eb7a0-9ce2-448e-8a21-3d1940a85b7c","html_url":"https://github.com/apache/openwebbeans-meecrowave","commit_stats":{"total_commits":712,"total_committers":13,"mean_commits":54.76923076923077,"dds":0.422752808988764,"last_synced_commit":"06cc7a60959f74807773546ee1cdc9b8011ffe8c"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fopenwebbeans-meecrowave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fopenwebbeans-meecrowave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fopenwebbeans-meecrowave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fopenwebbeans-meecrowave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/openwebbeans-meecrowave/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234923,"owners_count":20905854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["meecrowave"],"created_at":"2024-09-24T14:16:35.438Z","updated_at":"2025-04-04T19:14:16.904Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":["开发框架"],"sub_categories":[],"readme":"= Apache Meecrowave\n\nimage:https://img.shields.io/maven-central/v/org.apache.meecrowave/meecrowave.svg[Version]\n\nApache Meecrowave is a small Microprofile server (JAX-RS + CDI + JSON) fully based on Apache products.\n\n== How to start\nIf you want to start with your first *Hello World* you have to add the following dependencies to your `pom.xml`.\n\n```xml\n \u003cproperties\u003e\n    \u003cmeecrowave.version\u003eLATEST\u003c/meecrowave.version\u003e\n  \u003c/properties\u003e\n\n  \u003cdependencies\u003e\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.apache.meecrowave\u003c/groupId\u003e\n      \u003cartifactId\u003emeecrowave-specs-api\u003c/artifactId\u003e\n      \u003cversion\u003e${meecrowave.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.apache.meecrowave\u003c/groupId\u003e\n      \u003cartifactId\u003emeecrowave-core\u003c/artifactId\u003e\n      \u003cversion\u003e${meecrowave.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.apache.meecrowave\u003c/groupId\u003e\n      \u003cartifactId\u003emeecrowave-junit\u003c/artifactId\u003e\n      \u003cversion\u003e${meecrowave.version}\u003c/version\u003e\n      \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n  \u003c/dependencies\u003e\n```\n\nThe project itself should be used with Java8 as the minimum JDK-version.\n\nTo work with the latest SNAPSHOT, you can clone the repo and make a ```mvn clean install```.\n\n== Hello World - REST - trivial\nLet´s start with an minimal REST Endpoint.\nThe only result you can get is a *Hello World*.\nAdditionally there is a class called ```HelloApplication``` to make sure your path will start with **/api/**\n\n```java\n@Dependent\n@ApplicationPath(\"api\")\npublic class HelloApplication extends Application {\n}\n\n@Path(\"hello\")\n@ApplicationScoped\npublic class HelloEndpoint {\n\n  @GET\n  @Produces(MediaType.APPLICATION_JSON)\n  public String sayHi() {\n    return \"Hello World\";\n  }\n}\n```\n\nYou can start writing your first test , now.\nUsing junit4, the test class should annotated with ```@RunWith(MonoMeecrowave.Runner.class)```\nThe Container start and stop will be managed for you.\nTo have access to the dynamic data, like the random used port, use the the injected ```Meecrowave.Builder````.\n\nThe test-request itself is written like a normal request.\nThis example is using the class ```javax.ws.rs.client.ClientBuilder```.\n\n```java\n@RunWith(MonoMeecrowave.Runner.class)\npublic class HelloEndpointTest {\n  @ConfigurationInject\n  private Meecrowave.Builder configuration;\n\n  @Test\n  public void hello() {\n    final Client client = ClientBuilder.newClient();\n    try {\n      assertEquals(\"Hello World\", client.target(\"http://localhost:\" + configuration.getHttpPort())\n                                        .path(\"api/hello\")\n                                        .request(APPLICATION_JSON_TYPE)\n                                        .get(String.class));\n    } finally {\n      client.close();\n    }\n  }\n}\n```\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fopenwebbeans-meecrowave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fopenwebbeans-meecrowave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fopenwebbeans-meecrowave/lists"}