{"id":31896094,"url":"https://github.com/thejavaguy/java8-consoleapp-archetype","last_synced_at":"2026-07-20T19:32:39.379Z","repository":{"id":16785373,"uuid":"80641397","full_name":"TheJavaGuy/java8-consoleapp-archetype","owner":"TheJavaGuy","description":"Maven archetype for creating console applications in Java 8","archived":false,"fork":false,"pushed_at":"2022-10-05T19:20:55.000Z","size":51,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-11T11:29:55.005Z","etag":null,"topics":["cli","java","maven-archetype"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheJavaGuy.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2017-02-01T16:50:22.000Z","updated_at":"2023-02-15T02:04:18.000Z","dependencies_parsed_at":"2023-01-11T19:26:26.201Z","dependency_job_id":null,"html_url":"https://github.com/TheJavaGuy/java8-consoleapp-archetype","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/TheJavaGuy/java8-consoleapp-archetype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJavaGuy%2Fjava8-consoleapp-archetype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJavaGuy%2Fjava8-consoleapp-archetype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJavaGuy%2Fjava8-consoleapp-archetype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJavaGuy%2Fjava8-consoleapp-archetype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheJavaGuy","download_url":"https://codeload.github.com/TheJavaGuy/java8-consoleapp-archetype/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJavaGuy%2Fjava8-consoleapp-archetype/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35698118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"ssl_error","status_checked_at":"2026-07-20T02:08:09.736Z","response_time":111,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cli","java","maven-archetype"],"created_at":"2025-10-13T10:56:54.080Z","updated_at":"2026-07-20T19:32:39.356Z","avatar_url":"https://github.com/TheJavaGuy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1. About java8-consoleapp-archetype\njava8-consoleapp-archetype is a maven archetype for creating Java 8 console applications.\n\n# 2. Features\n* Generates complete directory structure (source code, tests, resources)\n* Generates distribution script, so you can quickly package your application as .zip archive with all dependencies included\n* Generates production-ready maven project with configured important plugins (compile, jar, source, javadoc, assembly)\n* Generated project comes with most popular libraries:\n  + *JCommander* for parsing command-line args\n  + *Guava* for general purpose programming\n  + *slf4j* and *log4j2* for logging, preconfigured for both file and console logging\n  + *JUnit* for unit testing\n  + *AssertJ* or *Hamcrest* for assertions (you can choose during project generation)\n  + *Mockito* or *jmock* for mocks (you can choose during project generation)\n\n# 3. Installation\nBefore you can generate projects, you must install java8-consoleapp-archetype locally. If you use Windows, run `install.bat`. If you use GNU/Linux or Mac, run `install.sh`.\n\n# 4. Usage\n```bash\n$ mvn archetype:generate -DarchetypeCatalog=local\n```\n\nYou should see a list of locally installed archetypes similar to this one:\n```\nChoose archetype:\n1: local -\u003e org.thejavaguy.archetype:java8-consoleapp-archetype (Java8 console app archetype)\nChoose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :\n```\n\nSimply choose a number in front of `org.thejavaguy.archetype:java8-consoleapp-archetype` (in this case, 1), answer questions about your `groupId`, `artifactId` etc. and your project will be generated in a directory one level below current one.\n\nWhen your project is generated, go to project dir and type `mvn package`. As a result you'll get .zip archive with a runnable JAR + resources + dependencies. Simply unpack it wherever you want and start it in a usual way (`java -jar yourapp.jar`).\n\n# 5. Example\n```\n$ mvn archetype:generate -DarchetypeCatalog=local\n[INFO] Scanning for projects...\n[INFO]\n[INFO] ------------------\u003c org.apache.maven:standalone-pom \u003e-------------------\n[INFO] Building Maven Stub Project (No POM) 1\n[INFO] --------------------------------[ pom ]---------------------------------\n[INFO]\n[INFO] \u003e\u003e\u003e maven-archetype-plugin:3.1.2:generate (default-cli) \u003e generate-sources @ standalone-pom \u003e\u003e\u003e\n[INFO]\n[INFO] \u003c\u003c\u003c maven-archetype-plugin:3.1.2:generate (default-cli) \u003c generate-sources @ standalone-pom \u003c\u003c\u003c\n[INFO]\n[INFO]\n[INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom ---\n[INFO] Generating project in Interactive mode\n[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)\nChoose archetype:\n1: local -\u003e org.thejavaguy.archetype:java8-consoleapp-archetype (Java8 console app archetype)\nChoose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1\nDefine value for property 'groupId': org.thejavaguy.app\nDefine value for property 'artifactId': testapp\nDefine value for property 'version' 1.0-SNAPSHOT: :\nDefine value for property 'package' org.thejavaguy.app: :\nDefine value for property 'projectDescription': Test app description\nDefine value for property 'projectName': TestApp\nDefine value for property 'useAssertj' (should match expression 'true|y|yes|false|n|no'): y\nDefine value for property 'useHamcrest' (should match expression 'true|y|yes|false|n|no'): n\nDefine value for property 'useJmock' (should match expression 'true|y|yes|false|n|no'): n\nDefine value for property 'useMockito' (should match expression 'true|y|yes|false|n|no'): y\nConfirm properties configuration:\ngroupId: org.thejavaguy.app\nartifactId: testapp\nversion: 1.0-SNAPSHOT\npackage: org.thejavaguy.app\nprojectDescription: Test app description\nprojectName: TestApp\nuseAssertj: y\nuseHamcrest: n\nuseJmock: n\nuseMockito: y\n Y: :\n[INFO] ----------------------------------------------------------------------------\n[INFO] Using following parameters for creating project from Archetype: java8-consoleapp-archetype:0.0.20\n[INFO] ----------------------------------------------------------------------------\n[INFO] Parameter: groupId, Value: org.thejavaguy.app\n[INFO] Parameter: artifactId, Value: testapp\n[INFO] Parameter: version, Value: 1.0-SNAPSHOT\n[INFO] Parameter: package, Value: org.thejavaguy.app\n[INFO] Parameter: packageInPathFormat, Value: org/thejavaguy/app\n[INFO] Parameter: package, Value: org.thejavaguy.app\n[INFO] Parameter: useAssertj, Value: y\n[INFO] Parameter: groupId, Value: org.thejavaguy.app\n[INFO] Parameter: useHamcrest, Value: n\n[INFO] Parameter: useMockito, Value: y\n[INFO] Parameter: projectDescription, Value: Test app description\n[INFO] Parameter: useJmock, Value: n\n[INFO] Parameter: artifactId, Value: testapp\n[INFO] Parameter: projectName, Value: TestApp\n[INFO] Parameter: version, Value: 1.0-SNAPSHOT\n[INFO] Project created from Archetype in dir: /Users/ivanmilosavljevic/src/testapp\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n```\n\nStructure of generated project looks like this:\n```\n$ tree\n.\n├── pom.xml\n└── src\n    ├── assembly\n    │   └── assembly.xml\n    ├── main\n    │   ├── java\n    │   │   └── org\n    │   │       └── thejavaguy\n    │   │           └── app\n    │   │               ├── App.java\n    │   │               └── Args.java\n    │   ├── resources\n    │   │   └── log4j2.xml\n    │   └── resources-ext\n    │       └── ExternalResource.txt\n    └── test\n        ├── java\n        │   └── org\n        │       └── thejavaguy\n        │           └── app\n        │               └── AppTest.java\n        └── resources\n\n15 directories, 7 files\n```\n\n# 6. License\njava8-consoleapp-archetype is licensed under [GPLv3][gpl] license.\n\n# 7. How to contact author\nIf you have a question or issue with java8-consoleapp-archetype itself please use [Issues][issues] link. If you want to talk about anything else, I'm [@\\_The\\_Java\\_Guy\\_][twitterhandle] on Twitter.\n\n[gpl]: https://www.gnu.org/licenses/gpl-3.0.html\n[issues]: https://github.com/TheJavaGuy/java8-consoleapp-archetype/issues\n[twitterhandle]: https://twitter.com/_The_Java_Guy_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejavaguy%2Fjava8-consoleapp-archetype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthejavaguy%2Fjava8-consoleapp-archetype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejavaguy%2Fjava8-consoleapp-archetype/lists"}