{"id":28455703,"url":"https://github.com/questdb/sandbox","last_synced_at":"2025-06-27T02:31:50.501Z","repository":{"id":193497433,"uuid":"616471377","full_name":"questdb/sandbox","owner":"questdb","description":"Reproducer for Maven issue with Java Modules","archived":false,"fork":false,"pushed_at":"2023-03-20T15:05:58.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-06T22:11:17.381Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"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/questdb.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,"governance":null}},"created_at":"2023-03-20T13:05:05.000Z","updated_at":"2023-03-20T13:25:32.000Z","dependencies_parsed_at":"2023-09-08T12:44:18.979Z","dependency_job_id":"99f71521-9c13-4c02-856a-33b7355a707b","html_url":"https://github.com/questdb/sandbox","commit_stats":null,"previous_names":["questdb/sandbox"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/questdb/sandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/questdb%2Fsandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/questdb%2Fsandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/questdb%2Fsandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/questdb%2Fsandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/questdb","download_url":"https://codeload.github.com/questdb/sandbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/questdb%2Fsandbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262177682,"owners_count":23270918,"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":[],"created_at":"2025-06-06T22:10:26.482Z","updated_at":"2025-06-27T02:31:50.490Z","avatar_url":"https://github.com/questdb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reproducer for Maven issue with Java Modules\n\n## Intro\n\nObjective: there is project `papa-app`. It is deployed as a library to Maven Central. Locally this can be done via:\n\n```cmd\ncd papa-app\nmvn clean install\n```\n\n`papa-app` also deployes *test* infrastructure, which is there to be reused by projects that depend on `papa-app`.\n\nThere is `baby-app` project that depends on `papa-app`. A test in `baby-app` subclasses `AbstractTestSuperclass` aiming to reuse test infrastructure.\n\n## The problem\n\nWhen `baby-app` is a Java Module (e.g. includes own `module-info.java` Maven assembles incorrect command line for `javac`.  This can be reproduces via:\n\n```cmd\ncd baby-app\nmvn clean test\n```\n\nYou should be able to see :\n\n```\n[DEBUG] -d C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\test-classes -classpath C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\test-classes;C:\\Users\\Vlad\\.m2\\repository\\junit\\junit\\4.13.2\\junit-4.13.2.jar;C:\\Users\\Vlad\\.m2\\repository\\org\\ha\nmcrest\\hamcrest-core\\1.3\\hamcrest-core-1.3.jar;C:\\Users\\Vlad\\.m2\\repository\\io\\questdb\\papa-app\\1.0-SNAPSHOT\\papa-app-1.0-SNAPSHOT-tests.jar; --module-path C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\classes;C:\\Users\\Vlad\\.m2\\reposito\nry\\io\\questdb\\papa-app\\1.0-SNAPSHOT\\papa-app-1.0-SNAPSHOT.jar; -sourcepath C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\src\\test\\java;C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\generated-test-sources\\test-annotations; -s C:\\Users\\Vlad\\dev\\sand\nbox\\baby-app\\target\\generated-test-sources\\test-annotations -g -nowarn -target 11 -source 11 -encoding UTF-8 --patch-module com.questdb=C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\classes;C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\src\\test\\ja\nva;C:\\Users\\Vlad\\dev\\sandbox\\baby-app\\target\\generated-test-sources\\test-annotations; --add-reads com.questdb=ALL-UNNAMED\n```\n\nLibrary `C:\\Users\\Vlad\\.m2\\repository\\io\\questdb\\papa-app\\1.0-SNAPSHOT\\papa-app-1.0-SNAPSHOT-tests.jar` is added to `classpath` and not `modulepath`. This leads to compilation error:\n\n\n```\n[ERROR] COMPILATION ERROR :\n[INFO] -------------------------------------------------------------\n[ERROR] /C:/Users/Vlad/dev/sandbox/baby-app/src/test/java/com/questdb/AppTest.java:[5,18] cannot find symbol\n  symbol:   class AbstractTestSuperclass\n  location: package io.questdb\n[ERROR] /C:/Users/Vlad/dev/sandbox/baby-app/src/test/java/com/questdb/AppTest.java:[11,30] cannot find symbol\n  symbol: class AbstractTestSuperclass\n[ERROR] /C:/Users/Vlad/dev/sandbox/baby-app/src/test/java/com/questdb/AppTest.java:[19,28] cannot find symbol\n  symbol:   variable someUsefulState\n  location: class com.questdb.AppTest\n[ERROR] /C:/Users/Vlad/dev/sandbox/baby-app/src/test/java/com/questdb/AppTest.java:[20,20] cannot find symbol\n  symbol:   method someUsefulMethod(java.lang.String)\n  location: class com.questdb.AppTest\n[INFO] 4 errors\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquestdb%2Fsandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquestdb%2Fsandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquestdb%2Fsandbox/lists"}