Правильно ли я понимаю: вы хотите найти способ разрешить бесплатное распространение JAR-файлов, необходимых для запуска программ, разработанных с помощью SDK, но хотите запретить людям использовать эти JAR-файлы среды выполнения для разработки новых приложений?
Если это так, и если SDK не предлагает необходимых функциональных возможностей, которые поддерживают разработку, но не нужны во время выполнения, то я думаю, что лучший способ состоит в том, чтобы сделать среду выполнения не чем-то, что распространяется как независимый JAR. Вместо этого пусть SDK предоставляет функциональность сборки, которая связывает среду выполнения и приложение и вставляет некоторый код в библиотеки времени выполнения, который проверяет наличие этого конкретного приложения и отказывается запускаться в противном случае.