Community Tip - You can change your system assigned username to something more personal in your community settings. X
Version: Windchill 12.1
Use Case: Developing custom Windchill Java services to listen lifecycle state changes (RELEASED) and execute background logic; need guidance on required JAR dependencies and proper service architecture.
Description:
Hello everyone,
I’m trying to develop on PTC Windchill using Javadoc-based APIs, but I’m facing some difficulties and would really appreciate guidance from experienced Windchill developers.
I’m using IntelliJ IDEA for development, but I’m not sure which JAR files I actually need to add to my project.
When I try to add all Windchill JARs, I get dependency conflicts.
When I fix one library error, another one appears.
I believe the real issue is that I don’t know the correct JAR hierarchy / minimal required set for Windchill development.
My background is .NET Core, not Java, so I don’t have strong knowledge about Java classpaths, dependency resolution, or how Windchill structures its libraries. Because of this, I’m currently trying to load everything at once, which is obviously not the right approach.
👉 Is there a recommended list of required JARs, or a best practice for configuring IntelliJ IDEA for Windchill development?
I also need advice on how to run custom Java code as a service inside Windchill.
My goal:
Listen to lifecycle state changes
Catch parts when their state becomes RELEASED
Execute logic automatically and continuously
Concerns:
If I run a class directly from Windchill Shell, it seems like it will be a one-shot execution.
I assume it will not stay alive in the background as a persistent process.
👉 What is the correct Windchill approach for this?
Event listeners?
Services?
Lifecycle hooks?
Queue / Scheduler?
Any examples, documentation links, or architectural guidance would be extremely helpful.
Thanks in advance for your support 🙏
Best regards
Hi @ozclkonur
A following thread can answer your first question Java compilation issue in Windchill 12.0
Second is up to you and your needs. What exactly do you need?
You can use an Queue scheduler to run some code in your schedule time and a time loop. I use it for a visualization control mechanism.
Or you can create Event listener to run your code but here I would be very careful to keep in mind that this solution can case performance issue.
From my point of view the best place is a workflow robot where you can run any code you write. Promotion Request/ChangeNotice atc.
PetrH
Hello @ozclkonur,
It looks like you have a response from a community champion. If it helped you solve your question please mark the reply as the Accepted Solution.
Of course, if you have more to share on your issue, please let the Community know so other community members can continue to help you.
Thanks,
Vivek N.
Community Moderation Team.
