88fantasy opened a new issue, #4480:
URL: https://github.com/apache/streampark/issues/4480

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/streampark/issues?q=is%3Aissue+label%3A%22bug%22)
 and found no similar issues referencing `streampark-flink-sqlclient` or this 
packaging failure.
   
   ### Java Version
   
   Temurin 21.0.11 (console), also reproduced building with Microsoft OpenJDK 
11.0.28
   
   ### Scala Version
   
   2.12.x
   
   ### StreamPark Version
   
   3.0.0-SNAPSHOT (`dev` branch, commit `f89652b67`)
   
   ### Flink Version
   
   2.2.1 (official binary distribution, standalone/remote cluster)
   
   ### Deploy mode
   
   remote
   
   ### What happened
   
   Building/releasing *any* Flink SQL application (`POST /flink/pipe/build`) 
fails immediately with:
   
   ```
   [StreamPark] can't found streampark-flink-sqlclient jar in 
/data/streampark/current/client
   ```
   
   even though `streampark-flink-sqlclient-<version>.jar` is present in the 
distribution's `lib/`.
   
   Root cause: #4462 ("[Migrate] Migrate streampark-flink-sqlclient from Scala 
to Java") dropped the Scala cross-build suffix from the module's artifactId 
(`streampark-flink-sqlclient_${scala.binary.version}` → 
`streampark-flink-sqlclient`), but two other places that reference the old, 
suffixed coordinate were never updated:
   
   1. `streampark-console-service/src/main/assembly/assembly.xml` — the 
`dependencySet` `<exclude>`/`<include>` patterns for `lib/` vs `client/` still 
say `org.apache.streampark:streampark-flink-sqlclient_${scala.binary.version}`. 
Maven's `dependencySet` include/exclude match on exact artifactId, so the stale 
pattern matches nothing: the jar falls through to `lib/` (wrong — it's a 
per-Flink-version submission jar, it belongs in `client/`) and is never copied 
into `client/`.
   2. `ServiceHelper#getFlinkSqlClientJar()` builds its filename-matching regex 
as `streampark-flink-sqlclient_<scalaVersion>-.*\.jar`, which no longer matches 
the actual (now suffix-less) jar name even if it *is* placed in `client/`.
   
   Both fixes are required together — fixing only the assembly descriptor still 
leaves the console unable to find the (correctly placed) jar.
   
   `streampark-spark-sqlclient` is unaffected — it's still Scala cross-built 
and keeps its `_${scala.binary.version}` suffix, so its entries in both files 
are still correct.
   
   ### Error Exception
   
   ```
   org.apache.streampark.console.base.exception.ApiAlertException: [StreamPark] 
can't found streampark-flink-sqlclient jar in /data/streampark/current/client
        at 
org.apache.streampark.console.base.exception.ApiAlertException.throwIfTrue(ApiAlertException.java:76)
        at 
org.apache.streampark.console.core.util.ServiceHelper.getFlinkSqlClientJar(ServiceHelper.java:73)
        at 
org.apache.streampark.console.core.service.application.impl.FlinkApplicationBuildPipelineServiceImpl.retrieveFlinkUserJar(FlinkApplicationBuildPipelineServiceImpl.java:499)
        at 
org.apache.streampark.console.core.service.application.impl.FlinkApplicationBuildPipelineServiceImpl.createPipelineInstance(FlinkApplicationBuildPipelineServiceImpl.java:350)
        at 
org.apache.streampark.console.core.service.application.impl.FlinkApplicationBuildPipelineServiceImpl.buildApplication(FlinkApplicationBuildPipelineServiceImpl.java:188)
        at 
org.apache.streampark.console.core.controller.FlinkPipelineController.buildApplication(FlinkPipelineController.java:59)
        ...
   ```
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to