<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Circular dependency issue</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121489613" />
  <subtitle>Circular dependency issue</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121489613</id>
  <updated>2026-04-04T01:50:44Z</updated>
  <dc:date>2026-04-04T01:50:44Z</dc:date>
  <entry>
    <title>RE: Circular dependency issue</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121490122" />
    <author>
      <name>Olaf Kock</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121490122</id>
    <updated>2022-08-07T18:48:57Z</updated>
    <published>2022-08-07T18:48:56Z</published>
    <summary type="html">&lt;p&gt;Circular dependencies are typically resolved through introducing a
  third module, on which both previous modules depend. This way, the
  dependency is unidirectional.&lt;/p&gt;
&lt;p&gt;If you absolutely object to add another module, you can also merge
  the two current modules into just one.&lt;/p&gt;
&lt;p&gt;Which of the solutions is best depends on the size of both and your
  future plans with the module(s)&lt;/p&gt;</summary>
    <dc:creator>Olaf Kock</dc:creator>
    <dc:date>2022-08-07T18:48:56Z</dc:date>
  </entry>
  <entry>
    <title>Circular dependency issue</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121489612" />
    <author>
      <name>boveri asea</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121489612</id>
    <updated>2022-08-05T15:38:28Z</updated>
    <published>2022-08-05T12:35:03Z</published>
    <summary type="html">&lt;p&gt;I am using Liferay 7.3.7 ga8. I am wondering how to best approach the following:&lt;/p&gt;
&lt;p&gt;- I want to extend a module (e.g. social-activities-web)&lt;/p&gt;
&lt;p&gt;- I created my own module e.g. my-social-activities (**). My module
  needed some internal classes from social-activities-web. So I used
  fragment to export the internal classes. (*)&lt;/p&gt;
&lt;p&gt;- After defining new implementation of my-social-activities e.g.
  NewSocialActivitiesDisplayContext. I once again need to change the
  fragment and e.g. add lines of code in init-ext.jsp (***).&lt;/p&gt;
&lt;p&gt;The problem is when I run gradlew clean deploy, it seems that there
  are circular dependencies issues. My module, social-activities-web and
  fragment started and stopped all the time. I think the problem is the
  following: My module depends on internal classes aka fragment, but
  then the code in init-ext.jsp depends on my module and seem to lead to
  circular dependencies issue. Is there a better way to implement this?
  I am quite new to liferay and thanks in advance.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>boveri asea</dc:creator>
    <dc:date>2022-08-05T12:35:03Z</dc:date>
  </entry>
</feed>
