問題タブ [packages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 複数の Java プロジェクトとリファクタリング
最近、複数の異なるプロジェクトを使用しているプロジェクトに参加しました。これらのプロジェクトの多くは、ライブラリに含まれる他のプロジェクトの JAR ファイルを使用して相互に依存しているため、1 つのプロジェクトを変更するたびに、他のどのプロジェクトがそれを使用しているかを知り、それらも更新する必要があります。私はこれをもっと簡単にしたいと思っており、このすべての Java コードを別のパッケージの 1 つのプロジェクトにマージすることを考えていました。これを行ってから、一部のパッケージのみを jar にデプロイすることは可能ですか。一部のみの展開はしたくないのですが、可能であればお邪魔させていただきました。
これを処理するより良い方法はありますか?
unix - クロスプラットフォームの展開に使用するパッケージ?
通常、Windows アプリケーションは MSI としてパッケージ化され、Redhat Linux では RPM としてパッケージ化されます。Unix と Windows のさまざまなフレーバーを含むすべてのプラットフォームにアプリケーションを展開するために使用できる最良のオープン ソース パッケージング方法は何でしょうか?
内容には、exe、UNIX バイナリ、Java jar ファイル、ユーザー データ、さらには実行するデータベース スクリプトが含まれます。
(コンテンツは宛先OSごとに異なることを認識しています。つまり、バイナリは異なります。win exeとunixバイナリなどですが、たとえば、構成ファイルは同じである場合や、Javaの場合はバイトコードjarでさえある場合があります)
パッケージでサポートしたい重要な機能は、ディレクトリごとに異なるユーザーとアクセス許可ですが、この機能をマルチプラットフォームでサポートすることは非常に難しい場合があることを認識しています。
java - Java でパッケージを文書化するにはどうすればよいですか?
Java API では、パッケージの Javadoc コメントを確認できます。
パッケージを文書化する Javadoc コメントはどのように/どこに配置すればよいですか?
java - Java のパッケージに関するヘルプ - インポートが機能しない
私は C++ 開発者です - Java 開発者ではありませんが、このコードを機能させる必要があります...
別の製品で使用される 2 つのパブリック クラスがあります。各 Java ファイルで package ディレクティブを使用しました。
追加したものを使用するテストアプリをコンパイルしようとすると
com.company does not exist に関するエラーで javac コンパイラが失敗します。(パッケージを作成したばかりのクラスファイルと同じディレクトリでコンパイルしても)
私は骨の折れる愚かなことをしていると確信しています。
http://java.sun.com/docs/books/tutorial/java/package/usepkgs.htmlページを読み、/com/company/thing などのディレクトリ構造を設定しようとしましたが、それを完全に台無しにしたか、何か他のものが欠けています。
編集 提案に感謝します-以前にクラスパスを試しました。それは役に立ちません。
コンパイルしてみた
結果は次のとおりです。
\com\company\product にインポートしたいコード (2 つの Java ファイル) があります。私はそれらをうまくコンパイルします。(それらには MyClass が含まれています) それらの jar ファイルも作成しました。jar ファイルを親ディレクトリにコピーしました。
次に、(クライアントのJavaファイルがある親ディレクトリで)行いました
結果は次のとおりです。
編集
MyClass の完全修飾名を使用して親ディレクトリでコンパイルした場合、クライアント コードをコンパイルして実行できます。私は今完全に混乱しています。
クラスパスを設定せずにコンパイル - ただ
親ディレクトリに - そしてそれはうまくいきました。
テスト アプリをコンパイルすることはできますが、それを製品コードに統合する必要がある場合は、それで済みません。まだ助けを求めています。
編集:
最後に、以前は機能しなかった理由がわかりませんが、ディレクトリ構造全体のすべてのファイルをクリーンアップしたところ、機能するようになりました。
ありがとう
database - Cognos 8.3 からパッケージ情報 (ERD またはその他のデータ モデル) をエクスポートできますか?
通常のユーザー レベルまたはフレームワーク レベルから Cognos 8 からパッケージ情報をエクスポートする方法があるかどうか疑問に思っていました。
たとえば、cognos がデータベースで指しているフィールド名、データ型、データ要素を右クリックしたときに cognos が使用する説明などが必要です。
助言がありますか?
delphi - Delphiパッケージのビルド/インストールのデバッグ
Delphi2007Proを使用しています。TFrameに基づいて開発しているいくつかの複合コンポーネントを含むランタイムパッケージがあります。これらのコンポーネントをツールパレットにインストールする関連するデザインパッケージもあります。これらのTFrameの子孫は、さまざまな理由で多くのサードパーティコンポーネントを使用し、クラス階層として相互に継承します。これまでのところ(そしてここでいくつかの素晴らしいアドバイスの助けを借りて)、このアプローチは私が達成したいことに対して非常にうまく機能しています。
最近、問題が発生しましたが、ランタイムパッケージのコンパイル/ビルドが行われました。当初、それはnxEventLog.pasを中心としたいくつかの競合と関係があり、その詳細は残念ながら記録できませんでしたが、基本的には「このメソッドの定義は以前の定義と一致しません」という線に沿ったものでした。実装宣言がクラス宣言と一致しない場合に得られるもののように。このファイルはNexusDBファイルです(アプリケーションはNexusDB組み込みサーバーを使用します)。
いろいろ試してみましたが、紛争を解消することはできませんでした。私が最も近かったのはコンパイル時で、IDEリクエストで完全に無関係なユニットのTRUCKLOADをcontains/uses句に追加しました。これについては後で詳しく説明しますが、それを続行しても機能しません。nxEventLogファイルは元の状態から変更されていません。
このエラーが表示された理由を突き止めることができません-実際のパッケージやユニットではなく、Nexusファイルに表示され、Nexusコードでは何も変更していません-ついに先に進み、Nexusを完全にアンインストールしました。手動で関連するすべてのdcuファイルとbplファイルを削除したことを確認するために検索し、再インストールしました。(私はNexus 2.07を実行しています)
IDEを起動すると、次のエラーが発生しました。
bds.exe-エントリポイントが見つかりません
---------------------------
プロシージャエントリポイント
@Nxsddatadictionary@ TnxBaseTableDescriptor @ LoadFromReader $ qqrp15Classes @ TReaderダイナミックリンクライブラリNexusDB207sd110.bplにありません。
---------------------------
OK
に続く:
パッケージをロードできません....NexusDB207dv110.bplパッケージをロード
できません....cmTPPanels_D2007_DesignReg.bpl
指定されたプロシージャが見つかりません。
次回パッケージがロードされるときに、このパッケージのロードを試行しますか?
cmTPPanelsランタイム/デザインパッケージ(コンポーネントセット)を[コンポーネント]->[パッケージのインストール]->[削除]からアンインストールすると、NexusのnxEventLog ocmponentを含む、他の「通常のNexusDB」アプリケーションが正常に動作するようです。これは、問題が間違いなくどこかのインストールパッケージにあることを示しているようです。
そこで、Nexusのインストールが実際の問題ではないことを確認した後、両方のパッケージを含むプロジェクトグループを開きました。ランタイムパッケージをビルド(またはコンパイル)すると、DelphiIDEは上記と同じダイアログボックスを表示します。
「このパッケージを他のインストール済みパッケージと互換性を持たせるには、次の変更が必要です。[OK]を選択してこれらの変更を適用し、パッケージを再構築してください。」
dsnapを追加します。
dsnapには、暗黙のユニットDBClient、Provider、DataBkr、MidConst、Midas、DSIntfが含まれています。
ibxpressを追加します。
ibxpressには、暗黙のユニットIBUtils、IB、IBSQLMonitor、IBHeader、IBIntf、IBXConst、IBXMLHeader、IBSQL、IBBlob、IBCustomDataSet、IBDatabase、IBErrorCodes、IBDatabaseInfo、IBExternals、IBInstallHeader
、IBServicesが含まれています。
IndyCoreを追加します。
IndyCoreには、暗黙のユニットIdIOHandlerSocket、IdSocks、IdIOHandlerStack、IdBuffer、IdResourceStringsCore、IdIntercept、IdCustomTransparentProxy、IdExceptionCore、IdSocketHandle、IdIOHandler、IdTCPConnection、IdReplyRFC、IdReply、IdTCPClient、IdIPAddress、IdAsが含まれています。
IndySystemを追加します。
IndySystemには、暗黙のユニットIdBaseComponent、IdGlobal、IdStreamVCL、IdSysNativeVCL、IdSysVCL、IdSysBase、IdSysWin32、IdResourceStrings、IdException、IdSys、IdStream、IdStackSt2、IdStack、IdStackWindows、IdWship6が含まれています。
Rz30DBCtls90を追加します。
Rz30DBCtls90には、暗黙のユニットRzDBNav、RzDBLbl、RzDBStatが含まれています。
lmdweb30_d10を追加します。
lmdweb30_d10には、暗黙のユニットLMDWebHTTPGet、LMDHTMLObjectUnit、LMDFSSupport、LMDHTTPSupp、LMDStringsSupport、LMDURLSupp、LMDRASSupport、LMDRASCF、LMDWebConst、LMDRAS、LMDSyncUnit、LMDWebBase、LMDWebLex、LMDWebHTMLLex、LMDWebDownload
lmddsg30_d10を追加します。
lmddsg30_d10には、暗黙のユニットLMDDsgPropInsp、LMDDsgPropEditors、LMDDsgMenuEditor、LMDDsgObjects、LMDDsgClass、LMDDsgCst、LMDDsgCollectionEditor、LMDDsgStrsEditor、LMDDsgPropPage、LMDDsgModuleが含まれています。
lmdstorage10_d10を追加します。
lmdstorage10_d10には、暗黙のユニットLMDStorFormProperties、LMDStorFormHook、LMDStorBase、LMDStorConsts、LMDStorPropertiesStorage、LMDStorCommon、LMDStorINIVaultが含まれています。
ExceptionExpert11を追加します。
ExceptionExpert11には、暗黙のユニットExceptionLog、EDisAsm、EHash、EListView、EConsts、ETypes、ELogManager、EEncrypt、EBase64、EXMLBuilder、ECore、EWebTools、EZip、EZlib、ESockets、ELang、EHook、EDebug、ELeaksが含まれています。
RemObjects_Core_D11を追加します。
RemObjects_Core_D11には、暗黙のユニットuROClasses、uROSerializer、uROXMLIntf、uROMSXMLImpl、uRORes、uROMSXML2_TLB、uROClient、uRODLToXML、uRODL、uROTypes、uROHTTPTools、uROClientIntf、uROEncryption、uROZlib、uROC 、uROEventRepository、uROServerIntf、uROSessions、uRODynamicRequest、uRORemoteService、uROThreadPool、uROServer、uROAsync、uROThread、uROBinMessage、uROStreamSerializer。
RemObjects_Indy_D11を追加します。
RemObjects_Indy_D11には、暗黙のユニットuROSuperTCPChannel、uROSCHelpersが含まれています。
DataAbstract_Core_D11を追加します。
DataAbstract_Core_D11には、暗黙のユニットuDADataTable、uDASupportClasses、uDARes、uDABusinessProcessor、uDAEngine、uDASQL92QueryBuilder、uDASQL92Interfaces、uDAWhere、uDAInterfaces、DataAbstract4_Intf、DataAbstract3_Intf、uDAHelpers、uDAClasses、uDAM 、uDARegExpr、uDAScriptingProvider、uDAOracleInterfaces、uDAMacroProcessors、uDADataStreamer、uDACDSDataTable、uDARemoteDataAdapter、uDAReconcileDialog、uDAReconcileDialogDetails、uDARemoteDataAdapterRequests、uDABinAdapter。
VirtualTreesD11を追加します。
VirtualTreesD11には、暗黙のユニットVirtualTrees、VTAccessibilityFactoryが含まれています。
VirtualShellToolsD11を追加します。
VirtualShellToolsD11には、暗黙のユニットVirtualExplorerTree、ColumnForm、VirtualResources、VirtualShellAutoComplete、VirtualShellNotifier、VirtualScrollbarsが含まれています。
dxBarDBNavD11を追加します。
dxBarDBNavD11には、暗黙のユニットdxBarDBNav、dxBarDBNavStrsが含まれています。
dxBarExtDBItemsD11を追加します。
dxBarExtDBItemsD11には、暗黙のユニットdxBarExtDBItemsが含まれています。
cxVerticalGridD11を追加します。
cxVerticalGridD11には、暗黙のユニットcxDBVGrid、cxVGridViewInfo、cxVGridUtils、cxVGrid、cxVGridNewCategory、cxVGridConstsが含まれています。
dxNavBarD11を追加します。
dxNavBarD11には、暗黙のユニットdxNavBar、dxNavBarExplorerViews、dxNavBarConsts、dxNavBarGraphics、dxNavBarStyles、dxNavBarBase、dxNavBarViewsFact、dxNavBarCollns、dxNavBarVSToolBoxViews、dxNavBar
dxLayoutControlD11を追加します。
dxLayoutControlD11には、暗黙のユニットdxLayoutControl、dxLayoutCustomizeForm、dxLayoutEditForm、dxLayoutCommon、dxLayoutLookAndFeels、dxLayoutControlAdaptersが含まれています。
dxMasterViewD11を追加します。
dxMasterViewD11には、暗黙のユニットdxMasterViewColumns、dxMasterView、dxMasterViewStrsが含まれています。
dxdbtrD11を追加します。
dxdbtrD11には、暗黙のユニットdxdbtrel、dxlocate、dxtree、dxdbtreeが含まれています。
dxPSCoreD11を追加します。
dxPSCoreD11は暗黙ユニット(S)dxPSEdgePatterns、dxPSUtl、dxPSImgs、dxPSRes、dxPrnDev、dxPSGlbl、dxPSEngn、dxPSSngltn、dxPSESys、dxBase、dxPSCore、dxPSPrVwStd、dxPSPopupMan、dxPgsDlg、dxWrap、dxPSHFToolBarBld、dxPSfmAutoHFTextFmt、dxPSEvnt、dxPrnPg、dxPpAttr、dxBkGnd、dxFEFDlgが含ま、dxPcPrVw、dxExtCtrls、dxExtCtrlsStrs、dxPSForm、dxPSAutoHFTextMnuBld、dxfmDfnStl、dxfmMnPg、dxfmClr、dxPreVw、dxPSPrVw、dxfmZoom、dxPSExtDlgs、dxfmPNFmt、dxfmDTFmt、dxPSPrVwOpt、dxPSfmCompositionDsg、dxPSfmCompositionAdd、dxPSCompsProvider、dxPSXplorerTreeView、dxPSfmReportProperties、dxPSPgsMnuBld、dxfmChFN、dxPSfmTtl、dxPSCPDsg、dxPSfmLnkAdd 、dxPSfmEditDesc、dxPSFillPatterns、dxPrnDlg。
dxPScxCommonD11を追加します。
dxPScxCommonD11には、暗黙のユニットdxPScxCommonが含まれています。
dxPScxGridLnkD11を追加します。
dxPScxGridLnkD11には、暗黙のユニットdxPScxGridLnkが含まれています。
NexusDB207se110を追加します。
NexusDB207se110は暗黙ユニット(S)nxseAutoComponent、nxseAllEngines、nxseRecordCompressionEngineSmart、nxseRecordEngineVariable、nxseFulltextEngineCursor、nxseFulltextEngineTable、nxseRefIntEngine、nxseJournalEngine、nxseSortEngineMerge、nxseTemporaryStorageChunked、nxseRecordEngineStatic、nxseIndicesEngineSimple、nxseIndexBase、nxseHeapEngineCached、nxseBlockHeapEngineNonfragmenting、nxseBlobEngineSimple、nxseIndexEngineStaticKeyBstarTree、nxseHeaderAccess、nxseEncryptionEngineBlowfishRC4、nxseBlobEngineSegmented、nxseAutoIncEngineSimple、nxseStreamEngineSimpleが含ま。
NexusDB207sr110を追加します。
NexusDB207sr110は暗黙ユニット(S)nxsrSqlEngineBase、nxExeConst、nxsrServerEngine、nxsrBlobHandlerCaching、nxsrTimeoutHandling、nxsrTypes、nxsrBlobHandlerBase、nxsrBufferManager、nxsrFileImplWin32、nxsrStrings、nxsrEncryptionEngineBase、nxsrConst、nxsrTemporaryStorageBase、nxsrBlobEngineBase、nxsrSubEngineBase、nxsrBlobHandlerPassthrough、nxsrRecordMapperEngine、nxsrFieldMapperEngineAutoInc、nxsrFieldMapperEngine、nxsrFieldMapper、nxsrSortEngineBase、nxsrFulltextEngineBaseが含ま、nxsrIndexEngineBase、nxsrRecordEngineBase、nxsrRefIntEngineBase、nxsrAutoIncEngineBase、nxsrStreamEngineBase、nxsrTableLockContainer、nxsrDataDictionary、nxsrFileHandling、nxsrServerCursorMapping、nxsrSystemStorage、nxsrRecordCompressionEngine
NexusDB207sq110を追加します。
NexusDB207sq110には、暗黙のユニットnxsqlEngine、nxsqlFunctions、nxsqlDataDef、nxsqlFunctionOrganizer、nxsqlCondExp、nxsqlTableExp、nxsqlViews、nxsqlProxies、nxSQLParse、nxsqlPSM、nxsqlTest、CocoaBaseW、nxsqlBase、nxsqlDataManipが含まれています。
NexusDB207lg110を追加します。
NexusDB207lg110には、暗黙のユニットnxlgEventLogDispatcher、nxlgEventLogが含まれています。
NexusDB207dv110を追加します。
NexusDB207dv110には、暗黙のユニットnxServerManager、nxBaseServerComp、nxConfigSettingsが含まれています。
MPCommonLibD11を追加します。
MPCommonLibD11には、暗黙のユニットMPDataObject、MPCommonObjects、MPCommonUtilities、MPResources、MPShellTypes、MPThreadManager、MPShellUtilitiesが含まれています。
これについて奇妙なのは、台所の流し以外のほとんどすべてが含まれているという事実を除けば、言及されているパッケージの多くは、私がインストールしようとしているこのパッケージに含まれているコンポーネントにさえ関連していないということです。DataSnap、Indy、IBExpress、RemObjects Data Abstractなど-これらはいずれも、私のコンポーネントでは参照されていません。
これらの追加されたすべてのユニット/パッケージに対して[OK]をクリックすると、さらに混乱が生じ、コンパイルされません。
NexusDBフォルダー、および開発中のこれらのコンポーネントが存在するフォルダーはすべてライブラリパス上にあり、カスタムコンポーネントが最後にリストされています。
私は仮想マシンで作業しており、必要に応じてスナップショットを作成できますが、それでもこの問題を回避できないようです。コンパイラがどこで動作するかを十分に理解していないことは明らかです。問題の診断を探すため。私がそうするのを助けるかもしれない誰かが言及することができるものは何でも、大いに感謝されるでしょう。
delphi - Delphi の RAD Studio\5.0\lib\debug フォルダ
ばかげた質問かもしれませんが、この Delphi フォルダの目的は何ですか?: C:\Program Files\CodeGear\RAD Studio\5.0\lib\debug
..そして、なぜ/いつ *.dcu ファイルが C:\Program Files\CodeGear\RAD Studio\5.0\lib\ ではなくそこに置かれるのですか?
ここで別の質問に対して受け取った回答に基づいて、重複する DCU および BPL ファイルを見つけようとしていますが、lib および lib\debug フォルダーに同じまたは類似の *.DCU ファイルが含まれている場合があるようです。これは大丈夫ですか、そうではありません...そしていつ/なぜですか?
あらゆる助けを前もって感謝します。: )
lisp - ASDF を使用して Hunchentoot を起動する
Hunchentoot (SBCL および Linux) を使用して Web アプリに取り組んでおり、通常は Emacs (SLIME) から実行するだけですが、展開のためには、より簡単に自動化できるものが必要です。だから私は ASDF を理解しようとしています。なぜなら、それは最近みんなが使っているもののようだからです。
myapp.asd:
package.lisp:
サーバー.lisp:
手でロードしようとすると:
一連の関数全体をロードしてコンパイルしますが、その後停止します。Hunchentoot が実行されておらず、プロンプトが入力を受け入れません。私はそれがどのような状態にあると考えているのかわかりません: 印刷された最後の行は次のとおりです:
これを機能させる方法はありますか?(自白: ASDF や Common Lisp パッケージについて何時間も読んだにもかかわらず、私は本当によく理解していません。)
java - パッケージを整理する (そして依存関係のサイクルを防ぐ) 方法は?
私は自分の Java プロジェクトでいくつかのメトリックを実行してきましたが、どうやらパッケージ間に多くの依存関係の循環があるようです。ものをパッケージにまとめる方法を本当に知らなかったので、自分にとって意味のあることをしただけで、明らかに間違っています。
私のプロジェクトはニューラル ネットワーク フレームワークです。ニューラル ネットワークにはニューロンがあり、これらは Connections で相互に接続されています。彼らはお互いに依存する必要があります。ただし、Neuron にもさまざまな種類があるので、それらをすべて独自の「neurons」パッケージに入れることをお勧めします。明らかに Connection は Neuron ではないため、パッケージに含めるべきではありませんが、相互に参照しているため、循環依存関係があります。
これはほんの一例ですが、このような状況は他にもあります。このような状況にどのように対処しますか?
また、パッケージ階層の上位にあるパッケージのクラスは、より深いパッケージのクラスを参照することは想定されていないことを読みました。これは、パッケージ 'nn' の NeuralNetwork クラスがパッケージ 'nn.neurons' の Neuron を参照できないことを意味します。皆さんはこの原則に従っていますか?NeuralNetwork を「nn.networks」などに移動するとどうなるでしょうか。その場合、子パッケージではなく兄弟パッケージを参照します。それはより良い習慣ですか?
java - パッケージングのガイドライン (Java) に従っていますか?
Java パッケージングの設計ガイドラインに従っていますか?
適切なパッケージングは設計スキルの一部ですか? それに関する文書はありますか?
編集:パッケージはどのように相互に依存する必要がありますか?、循環パッケージは避けられませんか?、jar ファイルや war ファイルについてではありません。