पर बिना शर्त रनटाइम निर्भरता उत्पन्न करता है मेरे पास एक मुश्किल जावा लाइब्रेरी कार्य जैसा लगता है।एक कक्षा वर्ग को सशर्त रूप से संभालने के लिए जावा लाइब्रेरी लिखना w/o उस कक्षा
मुझे JTable
एस के साथ काम करने के लिए एडाप्टर/सहायक वर्ग लिखने की आवश्यकता है जिसमें JTable
JXTable
है, तो कुछ अतिरिक्त कार्यक्षमता है। लेकिन मैं swingx कोर-1.6.2.jar पर एक क्रम निर्भरता को जोड़ने के लिए नहीं करना चाहती जब तक अपने आवेदन वास्तव में JXTable का उपयोग करता
कैसे (इस स्थिति में यह पहले से ही classpath पर SwingX जार फ़ाइल होने की आवश्यकता है) क्या मैं इसे पूरा करने के लिए अपना कोड डीकूल कर सकता हूं? मैं यह भी नहीं जानता कि मैं JXTable के लिए कैसे परीक्षण कर सकता हूं; यदि मैं परीक्षण के रूप में instanceof JXTable
का उपयोग करने का प्रयास करता हूं, तो इसका अर्थ है कि मेरे कोड में पहले से ही बिना शर्त शर्त रनटाइम पर JXTable है।
मैंने पहले कि है "वैकल्पिक" क्रम लिंकेज निर्भरता जावा लाइब्रेरीज में लिखा है: अगर मैं अपने पुस्तकालय में इस है:
package com.foobar.foolib;
// import from whizbang.jar
import com.whizbang.BloatwareThingy;
public class SuperObject
{
/* ... uses a BloatwareThingy ... */
}
और SuperObject
, तो जब तक केवल वर्ग whizbang.jar का उपयोग करता है मेरा एंड एप्लिकेशन SuperObject
का उपयोग नहीं करता है, तो whizbang.jar पर कोई रनटाइम निर्भरता नहीं है; यदि मेरा अंतिम एप्लिकेशन SuperObject
का उपयोग करना चाहता है, तो उसे क्लासपाथ पर whizbang.jar शामिल करने की आवश्यकता है। आवेदन के दृष्टिकोण से वैकल्पिक। बहुत अच्छा काम करता है।
किसी दिए गए जेटीबल को JXTable का उदाहरण होने के लिए परीक्षण करने के लिए एक तरीका कैसे लिख सकता है, स्विंगएक्स जार फ़ाइल पर निर्भरता की आवश्यकता के बिना यदि एप्लिकेशन केवल जेटीबल का उपयोग करता है?
यह संकलन समय नहीं है निर्भरता मैं खत्म करने की कोशिश कर रहा हूँ; मैं अपनी लाइब्रेरी के लिए स्विंगएक्स पर एक संकलन-समय निर्भरता रखने का इरादा रखता हूं। मैं सिर्फ स्विंगएक्स पर * रनटाइम * निर्भरता नहीं चाहता जब तक कि मेरा एप्लिकेशन भी न हो। कुछ उपयोगी विचारों के लिए –